web-dev-qa-db-fra.com

La table MySQL est marquée comme bloquée et la dernière réparation (automatique?) A échoué

J'étais en train de réparer cette table, le serveur a été soudainement pendu et quand je suis revenu, toutes les tables sont correctes, mais celle-ci indiquant «en cours d'utilisation» et lorsque j'essaie de réparer le problème persiste.

ERREUR 144 - La table './extas_d47727/xzclf_ads' est marquée comme bloquée et la dernière réparation (automatique?) A échoué 

Que puis-je faire pour le réparer?

109

Si votre processus MySQL est en cours d'exécution, arrêtez-le. Sur Debian:

Sudo service mysql stop

Allez dans votre dossier de données. Sur Debian:

cd /var/lib/mysql/$DATABASE_NAME

Essayez de courir:

myisamchk -r $TABLE_NAME

Si cela ne fonctionne pas, vous pouvez essayer:

myisamchk -r -v -f $TABLE_NAME

Vous pouvez redémarrer votre serveur MySQL. Sur Debian:

Sudo service mysql start
224
Aleksandar Vucetic

Essayez d'exécuter la requête suivante:

repair table <table_name>;

J'ai eu le même problème et cela m'a résolu le problème.

91
cREcker

Si cela vous empêche de refuser l'accès à/var/lib/mysql, utilisez la solution suivante

$ cd /var/lib/
$ Sudo -u mysql myisamchk -r -v -f mysql/<DB_NAME>/<TABLE_NAME>
12
crazycrv

J'ai eu myisamchk: error: myisam_sort_buffer_size is too small comme erreur. 

La solution

myisamchk -r -v mysql/<DB_NAME>/<TABLE_NAME> --sort_buffer_size=2G
3
ThorstenS

J'avais besoin d'ajouter USE_FRM à l'instruction de réparation pour que cela fonctionne.

REPAIR TABLE <table_name> USE_FRM;
3
Mark

Allez à data_dir et supprimez le fichier Your_table.TMP après avoir réparé la table <Your_table>.

2
user1913891

C'est une solution à 100%. J'ai essayé moi-même.

myisamchk -r -v -f --sort_buffer_size = 128M --key_buffer_size = 128M/var/lib/mysql/nom de la base de données/tabloname

1
cryptox1

J'ai essayé les options des réponses existantes, principalement celle marquée correcte, qui ne fonctionnait pas dans mon scénario. Cependant, ce qui fonctionnait utilisait phpMyAdmin. Sélectionnez la base de données puis sélectionnez la table. Dans le menu déroulant inférieur, sélectionnez "Réparer la table". 

  • Type de serveur: MySQL
  • Version du serveur: 5.7.23 - MySQL Community Server (GPL)
  • phpMyAdmin: Informations sur la version: 4.7.7
0
user3417257