[MYSQL] Table marked as crashed and last repair failed when doing LOCK TABLES
Voici une erreur que vous pouvez obtenir avec mysql :
Ce message d'erreur ressemble à corruption d'index de MyISAM .
Il est necessaire de réparer la table pour reconstruire l'index.
Pour nous aider dans cette aventure périlleuse, nous allons nous appuyer sur l'outil, myisamchk.
Il s'agit d'un petit utilitaire mysql bien pratique pour obtenir des informations sur vos tables, pour les vérifier, ou encore les optimiser.
Mais aussi
vous sauver la vie réparer des tables endommagées.
Petit coup d'oeil à la syntaxe, pour réparer votre table nous allons utiliser l'option --recover :
Avant de vous lancer, vous pouvez exécuter, au préalable, la commande suivante, pour vérifier votre table :
Et maintenant, tentons de corriger le problème.
D'abord, avant de faire quoi que ce soit, vous devez faire une sauvegarde physique de tous vos fichiers de base de données.
Même si la réparation de myisamchk est assez sécurisée,on n'est jamais trop prudent.
Si cela ne marche pas ou ne récupère pas complètement votre table, comme dans la copie d'écran suivante :
Vous pouvez ré-exécuter la commande en remplaçant -recover par -safe-recover qui est plus lent, mais plus approfondie :
Puis, vous pouvez relancer une vérification :
Pas de panique : vous essayez de vérifier une table qui a été modifiée par un autre programme qui n'a pas encore refermé le fichier de table, ou que le fichier n'a pas été correctement refermé.
1 |
mysqldump: Got error: 144: Table 'visiteur' is marked as crashed and last (automatic?) repair failed when doing LOCK TABLES |
1 |
myisamchk -–recover /var/lib/mysql/DATABASENAME/TABLE_NAME.myi |
1 |
myisamchk visiteur.MYI<img class="aligncenter size-full wp-image-953" src="https://www.nicolas-housset.fr/wp-content/uploads/2016/05/MyISAM-table-is-usable-but-should-be-fixed.jpg" alt="MyISAM-table-is-usable-but-should-be-fixed" width="559" height="184" /> |
1 |
myisamchk --recover visiteur.MYI |
1 |
myisamchk --safe-recover --force visiteur.MYI |
1 |
myisamchk visiteur.MYI |
1 |
myisamchk: warning: 1 clients is using or hasn't closed the table properly |