MySQL Table is marked as crashed

Den heutigen Abend/Nacht habe ich damit verbracht meine MySQL Datenbank für WordPress ein wenig aufzuräumen und zu optimieren. Dabei sind mir zwei Beiträge abhanden gekommen und jeweils nach der Veröffentlichung eines Beitrages war die komplette ‘wp_posts’ nicht mehr lesbar. Warum? Die Datenbank meinte, dass die Tabelle defekt sei und als “crashed” markiert sei.

1
MySQL: Table is marked as crashed ans should be repaired

Daraufhin einfach mal mit phpmyadmin die markierten Tabellen überprüft und gegebenenfalls einmal mit dem Reparaturmodus überprüfen lassen. Gesagt, getan und trotzdem will die Datenbank nicht. Alle Beiträge samt Tags, Kommentare und Co. wurden nicht mehr richtig verknüpft. Somit suchte ich eine Weile bei Google/Yahoo und Co. bis ich auf eine Idee kam. Und zwar wie folgt: Datenbank anhalten, per Konsole die Datenbank überprüfen lassen und danach die Datenbank wieder hochfahren lassen. Lange habe ich darüber nicht nachgedacht und habe zuvor wenigstens noch ein Backup gemacht, bevor alles den Bach hinunter geht.

1
2
Datenbank stoppen:
/etc/init.d/mysql stop
1
2
3
4
Datenbank überprüfen und Fehler korrigieren:
myisamchk -ref *.MYI
myisamchk -r *.MYI
myisamchk -o *.MYI

Nach erfolgreicher Reparatur der Datenbank habe ich die Datenbank wieder gestartet. Nun geht wieder alles. Juhu.

Dieser Beitrag wurde unter Blog abgelegt und mit , , , , , , , , , , , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

2 Antworten zu MySQL Table is marked as crashed

  1. Andreas Klemm sagt:

    Hi,

    ich habe vor Jahren für eine Anti SPAM solution (dspam) eine SQL Datenbank betreiben müssen, die täglich eine ganz gute Last zu bewältigen hatte, weil ich mails aus 50 recht aktiven mailinglisten bekam.

    Mit mySQL habe ich positive als auch negative Erfahrungen gemacht. Die DB war sehr schnell, aber nach kurzer Zeit war die Datenbank korrupt.

    Ich bin dann auf Postgresql umgestiegen und es stellte sich heraus,
    das Postgresql im Gegensatz dazu 100% stabil war. Leider auch langsamer, weil der Entwickler der Solution PostgreSQL nicht gut kannte und keine Zeit in Optimierungen reinsteckte.

    Ich muss noch dazu sagen, daß ich kein DB admin bin, und mir bewußt ist, daß mySQL inzwischen verschiedene DB back-ends unterstützt.

    Hiermit möchte ich Dir einfach eine Anregung geben, evtl. auch mal PostgreSQL zu evaluieren. Ich habe den Eindruck, die Entwickler wollen eine gute Qualität abliefern.

    Bei mySQL hege ich die Befürchtung, daß in der Vergangenheit und vielleicht auch noch jetzt zu sehr Wert auf Speed als auf Datenintegrität gelegt wurde.

    Dass man als Anwender erstmal eine Entscheidung treffen muß, welches back-end man verwenden muss, finde ich aus Sicht der Anwenders nicht so gut. Wichtig ist meines Erachtens Datensicherheit und Datenintegrität, bevor ich Daten in ein Binärformat/Datenbankformat überführe.

    Viele Grüße und viel Glück mit Deinem Datenbank Projekt

  2. Pingback: Adrian Sauer » Wordpress 2.9.2 erschienen

Kommentare sind geschlossen.