web-dev-qa-db-fra.com

INNODB: ERREUR: TABLE "MYSQL". "INNODB_TABLE_STATS" non trouvé

J'ai la même erreur, bien que je gère Galera Cluster avec 3 nœuds. J'ai essayé de suivre les instructions de INNODB: ERREUR: TABLE "MYSQL". "INNODB_TABLE_STATS" non trouvé après la mise à niveau de MySQL 5.6 Mais lorsque je passe à l'étape d'exécution des instructions Create, je reçois l'erreur suivante :

Error Code: 1813. Tablespace for table '`mysql`.`innodb_index_stats`' exists.
Please DISCARD the tablespace before IMPORT.

Cela n'a aucun sens pour moi et quand j'ai essayé d'utiliser

drop tablespace `innodb_index_stats`;

J'ai eu une erreur SQL Sysntax.

3
Aaron

Le problème est en fait très simple. Voici ce qui s'est passé

Lorsque vous avez installé MySQL, les 5 tables de systèmes InnoDB existent à deux endroits

  • à l'intérieur /var/lib/mysql/mysql comme 5 .frm et 5 .ibd des dossiers
  • à l'intérieur du dictionnaire de données dans ibdata1 (ESPACE DE SYSTÈME INNODB)

À un moment donné de votre installation, vous devez avoir supprimé ibdata1. Cette gauche les 10 fichiers de table système innodb à l'intérieur /var/lib/mysql/mysql sans entrée de dictionnaire de données.

Solution [~ # ~] [~ # ~ #]

cd /var/lib/mysql/mysql
rm -f innodb_index_stats.frm
rm -f innodb_index_stats.ibd
rm -f innodb_table_stats.frm
rm -f innodb_table_stats.ibd
rm -f slave_master_info.frm
rm -f slave_master_info.ibd
rm -f slave_relay_log_info.frm
rm -f slave_relay_log_info.ibd
rm -f slave_worker_info.frm
rm -f slave_worker_info.ibd

Ensuite, connectez-vous à MySQL et exécutez les étapes de mon message: Innodb: Erreur: Table "MySQL". "Innodb_Table_stats" non trouvé après la mise à niveau vers MySQL 5.6

Essayez !!!

10
RolandoMySQLDBA