segunda-feira, 23 de setembro de 2013

ERRO 1146 (42S02): Quadro não existe

Original post: http://anothermysqldba.blogspot.com/2013/09/error-1146-42s02-table-doesnt-exist.html

Então, alguns de vocês podem ter executado através dos seguintes erros ao instalar o MySQL 5.6:
  • ERROR 1146 (42S02): não existe 'mysql.innodb_index_stats «Quadro
  • ERROR 1146 (42S02): não existe 'mysql.innodb_table_stats «Quadro
  • ERROR 1146 (42S02): Table 'mysql.slave_master_info' não existe
  • ERROR 1146 (42S02): Table 'mysql.slave_relay_log_info' não existe
  • ERROR 1146 (42S02): Table 'mysql.slave_worker_info' não existe
Você provavelmente espantado que você vê esse erro em uma instalação de banco de dados fresco. Você não está sozinho. A questão é corrigível embora.

A coisa mais segura a fazer é reinstalar o banco de dados mysql através do seguinte comando: mysql_install_db
Recentemente, tive que fazer isso em cada nova instalação (sim, isso aconteceu mais de uma vez) do MySQL 5.6 em um ambiente Solaris Sparc.

Você pode tentar usar o seguinte para criar as tabelas em falta, mas eu achei melhor manter tudo limpo e garantir tudo está configurado com o mysql_install_db.
Alguns fazem recomendar a correção launchpad que eu mencionei acima, mas eu gosto Eu disse que prefiro o mysql_install_db para garantir que tudo está ligado corretamente instalado.

Tenho outros posts que incluem exemplos de como usar este comando:

Related posts sobre este tema:
Se você se depara com isso a partir de tabelas fora do escopo mysql_install_db ver post no blog de Pedro para ajudar você a começar: