So reparieren Sie Tabellen, die in MySQL als fehlerhaft oder beschädigt markiert sind

Seit mehr als einem Jahr verwenden wir das Counterizer-Plugin für WordPress und speichern so Statistiken des Blogs und seiner Leser. Dieses Plugin haben wir vor einigen Tagen deaktiviert, da es (unter anderem) mehr als 600 MB Daten in der Datenbank gespeichert hat.

Es kommt vor, dass ich (vor dem Deaktivieren des Plugins und dem Bereinigen der Datenbank) versucht habe, einen Dump der Datenbank zu erstellen, dh sie nach .SQL zu exportieren und sie daher herunterzuladen, und der folgende Fehler im Hosting-Terminal aufgetreten ist:

mysqldump: Fehler: 144: Die Tabelle './dl_database/Counterize_Referers' ist als abgestürzt markiert und die letzte (automatische?) Reparatur ist bei Verwendung von LOCK TABLES fehlgeschlagen

Deshalb wurde der Dump nicht durchgeführt und nun ja... der bloße Gedanke, dass die DesdeLinux-DB ein Problem hätte, ließ mir die Haare zu Berge stehen 

Durch ein wenig Recherche im Internet konnte ich lernen, wie man dieses Problem löst. Anscheinend ist es NICHT so, dass die Datenbank genau Probleme hat, sondern nur, dass eine Tabelle als "mit Problemen" markiert ist. Glücklicherweise ist dies sehr einfach zu beheben.

Lassen Sie uns zuerst auf den MySQL-Server zugreifen:

mysql -u root -p

Wir drücken die [Eingabetaste] und werden nach dem MySQL-Root-Passwort gefragt. Wir geben es ein und drücken erneut die [Eingabetaste].

Dieser Befehl gilt für den Fall, dass der MySQL-Server auf demselben Computer installiert ist. Wenn Sie eine Remoteverbindung zu einem anderen MySQL-Server herstellen möchten, müssen Sie der Zeile Folgendes hinzufügen: -h IP-OF-SERVER

Sobald Sie sich in MySQL befinden, teilen wir Ihnen mit, welche Datenbank verwendet werden soll. Das Problem gemäß dem obigen Fehler befindet sich beispielsweise in der Tabelle Counterize_Referers aus der Datenbank  dl_database, damit:

use database dl_database;

Und jetzt, um die Tischbasis zu reparieren:

repair table Counterize_Referers;

Beachten Sie, dass am Ende dieser Zeilen ein Semikolon steht - »  ;

Sobald der vorherige Befehl ausgeführt wurde, sollte sich alles wieder normalisiert haben, zumindest in meinem Fall war das schon mehr als einmal so 

Dann bleibt nur noch die Anweisung zum Speichern der Datenbank und voila erneut auszuführen, nichts weiter.

Jedenfalls mache ich das vor allem als Erinnerung an mich selbst, da mir das Gleiche schon zweimal passiert ist und ich die Anweisungen zur Rettung des Tages nicht vergessen möchte 

Grüße und ich hoffe es hilft jemand anderem.


Als bevorzugte Quelle in Google hinzufügen