Datenbank-Server

ID #1288 MySQL-Datenbank reparieren

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

 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

huschi, zuletzt 2008-03-21 08:56     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   3 von 5 (2 Bewertungen)

Artikel kommentieren

Kommentar von Andreas (2013-06-13 11:42:45):
Wie sieht es mit

mysqlcheck -u admin -p`cat /etc/psa/.psa.shadow` --auto-repair --check --optimize --all-databases --silent

aus? Falls kein Optimize angeboten wird (Table does not support optimize, doing recreate + analyze instead). Bin mir gerade nicht ganz schlüssig. Habe Angst, dass ein automatisches Optimize oder Repair die Daten evtl. noch mehr schädig und ich lieber in solchen Fällen ein Backup einspielen sollte.

Kommentar von huschi (2013-06-13 12:52:18):
@Andreas:
Der Artikel stammt aus Zeiten als es noch keinen mysqlcheck gab.
Heute ist es tatsächlich leichter geworden.

huschi.