Defekte MySQL-Tabellen (MyISAM) reparieren

Sollte der Linux-Server einmal nicht mehr reagieren/funktionieren, und auch nicht mehr per SSH (auch Remote) erreichbar sein, dann hilft leider meist nur noch ein harter Reset.
Das hat oft zur Folge dass einige MySQL-Tabelle der MyISAM-Engine Fehler enthalten. Man erkennt es an der Meldung „Table ‚xxxxx‘ is marked as crashed and should be repaired“.

Mit folgendem Befehl lassen sich alle Tabellen nach so einem Crash prüfen und ggf. reparieren:

for i in `find /var/lib/mysql/ -type f -name *.MYI`; do myisamchk --recover --force --update-state ${i}; done

/var/lib/mysql/“ ist dabei das Verzeichnis in dem sich die ganzen Tabellen befinden.
In „-name *.MYI“ kann man die zu prüfenden Tabellen ggf. noch eingrenzen. Zum Bespiel: „-name tabelle*.MYI

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *