La table est marquée comme écrasée et doit être réparée


200

Je reçois cette erreur dans wordpress phpMyadmin

#145 - Table './DB_NAME/wp_posts' is marked as crashed and should be repaired 

Lorsque je me connecte à phpMyadmin, cela indique que wp_posts est "en cours d'utilisation"

Mon site Web est actuellement en panne à cause de cela.

J'ai recherché ce problème sur Google, mais je ne vois pas le bouton «réparer» sur phpMyadmin. S'il vous plaît laissez-moi savoir comment résoudre ce problème. Je ne sais pas où émettre la commande PHP. S'il vous plaît aviser, ma maîtrise de PHP est très basique.

Réponses:


225

Voici où se trouve le bouton de réparation:

texte alternatif


190

Exécutez ceci à partir de la ligne de commande de votre serveur:

 mysqlcheck --repair --all-databases

48
Pour éviter une erreur «accès refusé», vous devrez peut-être ajouter le nom d'utilisateur et le mot de passe à cette commande. mysqlcheck -uroot -p --repair --all-databaseset fournissez le mot de passe.
wruckie

123

J'ai eu le même problème lorsque l'espace disque disponible sur mon serveur était de 0

Vous pouvez utiliser la commande (il doit y avoir suffisamment d'espace pour les fichiers mysql)

REPAIR TABLE `<table name>`;

pour réparer des tables individuelles


Utile, j'ai eu ce problème avec une table Drupal v7.6x UC, qui a soudainement joué; a émis la commande REPAIR TABLE comme ci-dessus dans la console SQL phpMyAdmin et l'a corrigée. Dieu merci pour stackoverflow !! À votre santé!
Paul B

26

Connectez-vous à votre serveur via SSH

puis connectez-vous à votre console mysql

et

USE user_base
REPAIR TABLE TABLE;

-OU-

S'il y a beaucoup de tables cassées dans la base de données actuelle:

mysqlcheck -uUSER -pPASSWORD  --repair --extended user_base

S'il y a beaucoup de tables cassées dans beaucoup de bases de données:

mysqlcheck -uUSER -pPASSWORD  --repair --extended -A

2
Ne mettez pas les mots de passe en ligne de commande, ils sont ensuite enregistrés dans l'historique de manière et dans un emplacement non sécurisés. Les commandes mysql vous permettent de passer le paramètre -pseul, et vous demanderont ensuite votre mot de passe.
Thierry J.

9

Quand j'ai eu cette erreur:

# 145 - La table '. \ Engine \ phpbb3_posts' est marquée comme plantée et doit être réparée

J'ai exécuté cette commande dans PhpMyAdmin pour le réparer:

REPAIR TABLE phpbb3_posts;

6

Cela signifie que votre table MySQL est corrompue et que vous devez la réparer. Utilisation

myisamchk -r /DB_NAME/wp_posts

à partir de la ligne de commande. Pendant que vous exécutez la réparation, vous devez fermer temporairement votre site Web afin qu'aucune nouvelle connexion ne soit tentée à votre base de données pendant sa réparation.


J'ai posé cette question au commentaire ci-dessus, mais je pense qu'il est déconnecté, alors vous le demandez à nouveau. "Merci beaucoup, mon site est de nouveau en ligne. Une question cependant, comme la base de données a été corrompue et je l'ai réparée à nouveau, devrais-je m'inquiéter de quoi que ce soit? Dois-je enquêter si cela a fait quelque chose d'autre cassé? Ou cela aurait dû faire attention de tout?"
John Connor

Vous ne devriez vous inquiéter de rien. Une fois la base de données réparée, votre site fonctionnera à nouveau. Il peut être à nouveau corrompu à un moment donné, cela arrive, il suffit de le réparer à nouveau. Faites également des sauvegardes régulièrement et tout ira bien
Dmitri
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.