Wer beim Aufruf einer PHP-Anwendung die Fehlermeldung “MySQL: Table is marked as crashed and should be repaired” erhält, braucht nicht in Panik auszubrechen. Solche Fehlermeldungen können auftreten, wenn z.B. der Server abgestürzt ist, während sich die Tabelle im Zugriff befand. MySQL enthält im Lieferumfang einige Werkzeuge, mit denen die Reparatur solcher Tabellen möglich ist.
- Softrepair mit mysqlcheck Durch den Aufruf der folgenden Befehlszeile kann eine Online-Prüfung der Tabelle und ggf. auch eine Reparatur durchgeführt werden:
mysqlcheck -u root -p datenbankname tabellenname
Nach Eingabe des Passworts wird die Prüfung durchgeführt. Eventuell erhält man hier folgende Fehlermeldung:
error : Table './datenbankname/tabellenname' is marked as crashed and should be repaired
- Hardrepair mit myisamchk Erhält man die o.g. Fehlermeldung muss die Reparatur offline durchgeführt werden, hierzu muss zunächst der MySQL Server Dienst gestoppt werden:
service mysqld stop
Jetzt wechselt man idealerweise in das Verzeichnis, in dem die Datenbank gespeichert ist:
cd /var/lib/mysql/datenbankname
und gibt dort folgenden Befehl ein:
myisamchk tabellenname.MYI
Erhält man die Fehlermeldung “tabellenname.MYI’ is corrupted. Fix it using switch “-r” or “-o”" muss der Befehl erneut aufgerufen werden, dieses Mal mit Parameter -r, also:
myisamchk -r tabellenname.MYI
Je nach Größe der Tabelle bzw. Anzahl der Einträge kann dieser Vorgang einige Minuten in Anspruch nehmen. Nach Abschluss des Vorgangs nicht vergessen den MySQL Server Dienst wieder zu starten mit:
service mysqld start




Kommentare