Problem:

Nach einem (Festplatten-)Crash oder auch, daß MySQL selbst abstürzt, werden corrupted table's gefunden.
Solange dies nur in kleinem Maße passiert, kann man mit MySQL auf Commandozeilen-Ebene mit repair table [...] arbeiten.

Dies funktioniert aber meist auch nicht befriedigend und kann ggf. sogar noch mehr Schaden anrichten.

Lösungsvorschlag:

Wichtig ist, erst den MySQL zu stoppen! Sonst kommt MySQL sich mit myisamchk ins Gehege:

/etc/init.d/mysql stop
myisamchk --fast --force --update-state /var/lib/mysql/*/*.MYI
/etc/init.d/mysql start

Falls ein Fehler á la argumentlist to long auftauchen sollten, nutzen wir find um die einzelnen MYI-Files an myisamchk zu übergeben:

/etc/init.d/mysql stop
find /var/lib/mysql/ -type f -name \*.MYI -exec myisamchk --fast --force --update-state \{\} \;
/etc/init.d/mysql start

Kategorien:

Stichwörter:

mysql · database · datenbank · table · corrupt · repair · myisamchk ·