Voici une erreur que vous pouvez obtenir avec mysql :
1
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'indexStructure de données accélérant la lecture des lignes d'une table en ciblant directement les valeurs des colonnes indexées, réduisant ainsi les entrées/sorties disque et le temps de traitement. de MyISAM .
Il est necessaire de réparer la table pour reconstruire l'indexStructure de données accélérant la lecture des lignes d'une table en ciblant directement les valeurs des colonnes indexées, réduisant ainsi les entrées/sorties disque et le temps de traitement..
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 :
1
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.
1
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 :
1
myisamchk --safe-recover --force visiteur.MYI
Puis, vous pouvez relancer une vérification :
1
myisamchk visiteur.MYI
1
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é.
Nicolas Housset
Passionné d'informatique, je suis Consultant et expert technique SAS VIYA, également co-fondateur de la société Flexcelite. Spécialisé dans les technologies SAS (Viya, 9.4) et les infrastructures associées (Linux, Hadoop, Azure), ce blog est mon espace pour partager mes mémos techniques et retours d'expérience.