Tabelle ist als abgestürzt markiert und sollte repariert werden

190

Ich erhalte diesen Fehler in WordPress phpMyadmin

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

Wenn ich mich bei phpMyadmin anmelde, heißt es, dass wp_posts "in Verwendung" ist.

Meine Website ist derzeit aus diesem Grund nicht verfügbar.

Ich habe dieses Problem gegoogelt, aber ich sehe die Schaltfläche "Reparieren" auf phpMyadmin nicht. Bitte lassen Sie mich wissen, wie dies behoben werden kann. Ich bin nicht sicher, wo ich den PHP-Befehl ausgeben soll. Bitte beachten Sie, dass meine Kenntnisse in PHP sehr einfach sind.

John Connor
quelle

Antworten:

215

Hier befindet sich der Reparaturknopf:

Alt-Text

Nican
quelle
183

Führen Sie dies über die Befehlszeile Ihres Servers aus:

 mysqlcheck --repair --all-databases
tylerl
quelle
45
Um den Fehler "Zugriff verweigert" zu vermeiden, müssen Sie diesem Befehl möglicherweise den Benutzernamen und das Kennwort hinzufügen. mysqlcheck -uroot -p --repair --all-databasesund geben Sie das Passwort ein.
Wruckie
118

Ich hatte das gleiche Problem, als mein verfügbarer freier Speicherplatz auf dem Server 0 war

Sie können den Befehl verwenden (es muss ausreichend Platz für die MySQL-Dateien vorhanden sein).

REPAIR TABLE `<table name>`;

zur Reparatur einzelner Tische

Arun Killu
quelle
Hilfreich, ich hatte dieses Problem mit einem Drupal v7.6x UC-Tisch, der plötzlich abgespielt wurde. hat den Befehl REPAIR TABLE wie oben in der phpMyAdmin SQL-Konsole ausgegeben und behoben. Gott sei Dank für Stackoverflow! Prost!
Paul B
25

Stellen Sie über SSH eine Verbindung zu Ihrem Server her

Stellen Sie dann eine Verbindung zu Ihrer MySQL-Konsole her

und

USE user_base
REPAIR TABLE TABLE;

-ODER-

Wenn die aktuelle Datenbank viele fehlerhafte Tabellen enthält:

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

Wenn in vielen Datenbanken viele fehlerhafte Tabellen vorhanden sind:

mysqlcheck -uUSER -pPASSWORD  --repair --extended -A
Nedudi
quelle
2
Fügen Sie keine Passwörter in die Befehlszeile ein, sie werden dann auf nicht gesicherte Weise und an einem nicht gesicherten Ort im Verlauf gespeichert. Mit mysql-Befehlen können Sie den Parameter -palleine übergeben und werden dann nach Ihrem Passwort gefragt.
Thierry J.
7

Als ich diesen Fehler bekam:

# 145 - Tabelle '. \ Engine \ phpbb3_posts' ist als abgestürzt markiert und sollte repariert werden

Ich habe diesen Befehl in PhpMyAdmin ausgeführt, um ihn zu beheben:

REPAIR TABLE phpbb3_posts;
RasoolLotfi
quelle
6

Dies bedeutet, dass Ihre MySQL-Tabelle beschädigt ist und Sie sie reparieren müssen. Verwenden

myisamchk -r /DB_NAME/wp_posts

von der Kommandozeile. Während Sie die Reparatur ausführen, sollten Sie Ihre Website vorübergehend herunterfahren, damit während der Reparatur keine neuen Verbindungen zu Ihrer Datenbank hergestellt werden.

Dmitri
quelle
Ich habe dies zu dem obigen Kommentar gefragt, aber ich denke, er ist abgemeldet, also frage es dich noch einmal. "Vielen Dank, meine Website ist wieder online. Eine Frage, da die Datenbank beschädigt war und ich sie erneut reparierte, sollte ich mir über irgendetwas Sorgen machen? Sollte ich untersuchen, ob dadurch etwas anderes kaputt gegangen ist? Oder hätte dies Abhilfe schaffen sollen." von allem?"
John Connor
Sie sollten sich um nichts Sorgen machen. Sobald die Datenbank repariert ist, funktioniert Ihre Site wieder. Es kann irgendwann wieder beschädigt werden, es passiert, reparieren Sie es einfach erneut. Machen Sie auch regelmäßig Backups und es wird Ihnen gut gehen
Dmitri