Texte fürs Blog

Repair-Mädchen

Kommt in letzter Zeit etwas zu häufig vor:

Error: 1016 - Can't open file: ‘nucleus_item.MYI’ (errno: 145)
REPAIR TABLE nucleus_item
REPAIR TABLE nucleus_comment

Gibts da nicht eine Automatik mit der man den MySQL-Server so startet, dass er Beschädigungen der Tabellen-Struktur automatisch korrigiert. Hab ich mal irgendwo gelesen. Ist ja fuchtbar so.

Kommentare

Zwei Hinweise: zuerst würde ich mal die Logfiles durchforsten, die MySQL ablegt. Vielleicht ergeben sich daraus Hinweise. Die Tabellen da oben (nucleus_item, nucleus_comment) scheinen ja die Haupttabellen zu sein. Sie gehen aber sicher nicht an die Grenzen Deiner Datenbank?

Dann würde ich mal die eigene Arbeitsweise protokollieren: also wann wurde der Server gestartet, wie oft wird er neu gestartet [etc.]. Mit diesen Informationen könnte man in die deutsche MySQL-Newsgroup gehen (wenn Du in den Newsgroups nicht so oft zu Gast bist, könnte ich ja auch mal nachfragen).

Hast Du einen gleichartigen Datenbankserver offline laufen, den Du für Testzwecke einsetzt?

Ich bin nachher zufällig mit einem Datenbankmenschen zusammen, der den ganzen Tag nichts anderes macht. Ich melde mich heute (spät) abends noch mal, wenn der eine bessere Idee hat.

Schon mal vielen Dank, jetzt. Bin gerade gleich unterwegs. Morgen dann.

Das Manual sagt zur Fehlernummer 145 lakonisch: „Table was marked as crashed and should be repaired“. Wie schon gesagt, würde ich jetzt erst mal die Logfiles durchforsten, ob dort Meldungen zu finden sind, vor allem über einen Server-Crash oder einen Server-Neustart.

Weitere Fragen zu den oben genannten:

1. kann ausgeschlossen werden, dass nebenbei während der Laufzeit des Servers ein „myisamchk“ mit der Reparatur-Option ausprobiert wurde?
2. ist der mysqld-Prozess eventuell beendet worden, während die mysql gerade in die Tabelle geschrieben hat? Kannst Du irgendwo eine Information über einen Neustart finden?
3. wie zuverlässig sind RAM und Festplatte?
4. welche Optionen des Befehls „REPAIR TABLE“ verwendest Du eventuell noch?
5. was gibt der Befehl „myisamchk tabellenname.MYI“ aus (als Root im MySQL-Tabellenverzeichnis der Datenbank ausgeführt)?

1 und 2 und 5 schließ ich aus. Die Logfile-Analyse zeigt an, dass offenbar im Stadium des mysqldump diese kaputt ging:

„Mar 6 02:03:15 localhost mysqld[19193]: 060306 2:03:15 [ERROR] /usr/sbin/mysqld: Can't open file: ‘nucleus_item.MYI’ (errno: 145)“

Um 2:03 Uhr werden alle Tabellen aller Datenbanken gedumpt. Der Das geht flott. Witzig war ja nur, in dem Moment wo ich das Repair auf die item-Tabelle gemacht habe, ist die comments-tabelle gecrasht:

„Mar 6 08:13:49 localhost mysqld[19193]: 060306 8:13:49 [ERROR] /usr/sbin/mysqld: Can't open file: ‘nucleus_item.MYI’ (errno: 145)
Mar 6 08:14:03 localhost mysqld[19193]: 060306 8:14:03 [ERROR] /usr/sbin/mysqld: Can't open file: ‘nucleus_comment.MYI’ (errno: 145)“

Ich schätze, da ist in meiner nucleus-Datenbank eifach eine Beziehung zwischen den Tabellen so im Arsch, dass die sich gegenseitig zerschießen.

Repair mache ich von außen mit MySQL-Front 1.81 oder 1.18. Das gibts nicht mehr.

Stehen denn /vor/ diesen Meldungen interessante Dinge im Logfile?

OK, das könnten wir vielleicht besser mal per E-Mail absprechen. Wie oft ist denn das REPAIR bei Deinen Tabellen wirklich notwendig? Das sollte doch der Sonderfall sein? Welche Zugangsmöglichkeiten hast Du denn zu dem Server? Kannst Du Dich auch per ssh anmelden?

Das mysqldump greift doch, soweit ich das hier sehen kann, wie ein ganz normaler Client auf die Datenbank zu. Wird das automatisch (per cron) oder per Hand gestartet?

Vielleicht sollte man die Seite für die Dauer des REPAIR wirklich kurz vom Netz nehmen und eine statische Seite dafür ins Netz stellen.

Ne, Stefan, davor ist nichts zu finden. Es ist merkwürdig. Der Dunp erfolgt per cronjob. Und den REPAIR-Versuch mache ich immer erst, wenn was kaputt ist.

Momentan läufts ja.

Du weißt schon, dass MySQL einen Befehl wie „CHECK TABLE kunden;“ kennt?
Eine Anschlussfrage zu einem anderen Thema: Wie weit bist Du denn mit Deinen Versuchen zur Sprachsynthese zufrieden? Ich würde gern mal probieren, einige technische Texte zu einer Art Hörbuch zu machen. Geht das schon? Gibt es gute frei verfügbare „Stimmen“? Auf dem Bahnhof in Dresden-Neustadt gibt es eine Computerstimme zum Ansagen der Züge, die sogar ansatzweise erotisch klingt ;-)

myisamcheck kenne ich, und das sagte mir, dass da was gecrasht ist.

Sprachsynthese. Das musst du selbst machen. Soweit ich weiß sind die Stimmen bei mbrola etc. frei.

Später mehr, ich bin jetzt doch arg beschäftigt.

Angetrieben von:

Powered by Drupal