
Voici une erreur que vous pouvez obtenir avec mysql :
mysqldump: Got error: 144: Table 'visiteur' is marked as crashed and last (automatic?) repair failed when doing LOCK TABLES
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 :
myisamchk -–recover /var/lib/mysql/DATABASENAME/TABLE_NAME.myi
Avant de vous lancer, vous pouvez exécuter, au préalable, la commande suivante, pour vérifier votre table :
myisamchk visiteur.MYI
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.
myisamchk --recover visiteur.MYI
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 :
myisamchk --safe-recover --force visiteur.MYI

Puis, vous pouvez relancer une vérification :
myisamchk visiteur.MYI
myisamchk: warning: 1 clients is using or hasn't closed the table properly

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é.