web-dev-qa-db-fra.com

XAMPP/MySQL: impossible d'ouvrir le fichier d'espace table à table unique.\Mysql\innodb_index_stats.ibd après le redémarrage de MySQL

J'ai installé Drupal sur mon serveur XAMPP local. Tout a bien fonctionné, aucun problème d’inclusion et de travail avec la base de données/le site jusqu’à ce que j’ai redémarré XAMPP. Depuis lors, je reçois ce qui suit dans mon fichier de log: 

2013-09-02 16:18:46 2544 [Note] Le plug-in 'FEDERATED' est désactivé.

2013-09-02 16:18:46 3e8 InnoDB: Avertissement: L'utilisation de innodb_additional_mem_pool_size est DEPRECATED. Cette option pourrait être supprimée dans les versions ultérieures, en même temps que l'option innodb_use_sys_malloc et l'allocateur de mémoire interne d'InnoDB.

2013-09-02 16:18:46 2544 [Note] InnoDB: le segment de mémoire InnoDB est désactivé

2013-09-02 16:18:46 2544 [Note] InnoDB: Les mutex et les rw_locks utilisent des fonctions Windows interverrouillées

2013-09-02 16:18:46 2544 [Note] InnoDB: Les tables compressées utilisent zlib 1.2.3

2013-09-02 16:18:46 2544 [Note] InnoDB: Ne pas utiliser les instructions CPU crc32

2013-09-02 16:18:46 2544 [Note] InnoDB: Initialisation du pool de mémoire tampon, taille = 16,0 Mo

2013-09-02 16:18:46 2544 [Note] InnoDB: Initialisation terminée du pool de mémoire tampon

2013-09-02 16:18:46 2544 [Note] InnoDB: Le format de fichier le plus pris en charge est Barracuda.

2013-09-02 16:18:47 2544 [Note] InnoDB: Les numéros de séquence de journaux 1600614 et 1600614 dans les fichiers ibdata ne correspondent pas au numéro de séquence de journaux 1600644 dans les fichiers_ib!

2013-09-02 16:18:47 2544 [Note] InnoDB: La base de données n'a pas été arrêtée normalement!

2013-09-02 16:18:47 2544 [Note] InnoDB: Lancement de la récupération après incident.

2013-09-02 16:18:47 2544 [Note] InnoDB: Lecture des informations de tablespace à partir des fichiers .ibd ...

2013-09-02 16:18:47 2544 [ERREUR] InnoDB: Tentative d'ouvrir un tablespace précédemment ouvert. L'espace de table précédent drupal/variable utilise l'espace ID: 2 dans chemin_fichier:.\Drupal\variable.ibd. Impossible d'ouvrir le tablespace mysql/innodb_index_stats qui utilise l'espace ID: 2 dans chemin_fichier:.\Mysql\innodb_index_stats.ibd

InnoDB: Erreur: impossible d'ouvrir le fichier d'espace table à une table.\Mysql\innodb_index_stats.ibd

InnoDB: Nous ne poursuivons pas la récupération sur incident, car la table risque de devenir

InnoDB: corrompu si nous ne pouvons pas lui appliquer les enregistrements du journal InnoDB.

InnoDB: Pour résoudre le problème et démarrer mysqld:

InnoDB: 1) S'il y a un problème de permission dans le fichier et que mysqld ne peut pas

InnoDB: ouvrez le fichier, vous devez modifier les permissions.

InnoDB: 2) Si la table n’est pas nécessaire ou si vous pouvez la restaurer à partir d’une sauvegarde,

InnoDB: vous pouvez alors supprimer le fichier .ibd et InnoDB effectuera une opération normale.

InnoDB: récupération sur incident et ignorer cette table.

InnoDB: 3) Si le système de fichiers ou le disque est endommagé et que vous ne pouvez pas supprimer

InnoDB: le fichier .ibd, vous pouvez définir innodb_force_recovery> 0 dans my.cnf

InnoDB: et force InnoDB à poursuivre la récupération après incident ici.

J'ai cherché une solution via Google mais cela semble être un problème uniquement avec la base de données Drupal car il est capable de se connecter à MySQL si je supprime la base de données.

J'espère que quelqu'un pourrait m'aider :(.

16
leiseliesel

dev_khan, essayez de redémarrer MySQL en mode lecture seule avec l'option innodb_force_recovery activée:

  1. Éditez mon.cnf - trouvez la ligne: # innodb_force_recovery = 2
  2. Commenter la ligne (supprimer le #)
  3. Redémarrez MySQL pour laisser le moteur MySQL réparer lui-même.
  4. Commenter à nouveau la ligne innodb_force_recovery (ajouter #)
  5. Redémarrez MySQL à nouveau et vous aurez à nouveau un accès complet sans restriction de lecture seule.

Salutations d'Allemagne

10
Janis Benda

Déplacez (NE SUPPRIMEZ PAS) ces fichiers dans un autre dossier:

innodb_index_stats.frm
innodb_table_stats.frm
slave_master_info.frm
slave_relay_log_info.frm
slave_worker_info.frm

et .ibd fichiers avec le même nom de fichier:

innodb_index_stats.ibd
innodb_table_stats.ibd
slave_master_info.ibd
slave_relay_log_info.ibd
slave_worker_info.ibd

Essayez de démarrer MySQL.

33
Panos Angelopoulos

Vous pouvez résoudre ce problème en ajoutant une ligne dans votre fichier de configuration mysql: my.cnf ou my.ini (dépend de votre distribution).

juste sous [mysqld], ajoutez cette ligne: innodb_force_recovery = 1  

..
[mysqld]
innodb_force_recovery = 1 
..

Puis redémarrez votre serveur MySql . Vous pourriez avoir perdu des données, mais le serveur fonctionnera à nouveau avec vos données.

Cordialement,

19
Charles P.

Cela arrive aussi avec Wordpress. Il semble que cela ne se produise que dans la version la plus récente, alors que je suis revenu aux versions précédentes d’AMPPS, et cela fonctionne sans problème.

0
mandrill