Hallo liebe Leute,
ich wende mich mit einem akuten Problem an Euch, dass mir die letzten Nerven raubt, sitzt mir doch der Kunde schwer im Nacken.
Die MySQL-Datenbank eines Kunden gerät immer wieder durcheinander. Symptomoe sind folgende:
1. Datensätze sind scheinbar verschwunden
2. Datensätze sind zwar da, werden aber mit kaputten Umlauten ("?" statt äöüß usw.) ausgegeben
Ich habe mich mehrere Tage lang intensiv mit der MySQL-Dokumentation zu myisamchk auseinander gesetzt, es hilft leider nichts. Ich mache beispielsweise folgendes:
debian:/var/mysql/smallcms# /opt/lampp/bin/myisamchk -m *.MYI > log.txt
myisamchk: warning: 1 client is using or hasn't closed the table properly
MyISAM-table 'Page.MYI' is usable but should be fixed
myisamchk: warning: 1 client is using or hasn't closed the table properly
MyISAM-table 'SessionData.MYI' is usable but should be fixed
myisamchk: warning: 1 client is using or hasn't closed the table properly
MyISAM-table 'User.MYI' is usable but should be fixed
Ok, kein Problem, myisamchk ist ja dafür ausgelegt. Also, um ganz sicher zu gehen:
1. Ich öffne die MySQL-Konsole, wechsele zur entsprechenden Datenbank, geben "FLUSH TABLES;" ein
2. ich fahre MySQL ganz herunter (mittels xampp: /opt/lampp/lamp stop)
3. ich führe "/opt/lampp/bin/myisamchk -r *.MYI" aus, scheinbar erfolgreich, denn:
4. "/opt/lampp/bin/myisamchk -m *.MYI > log.txt" wirft nun keine Fehler mehr (auch in log.txt ist alles ok)
Problem gelöst? Denkste, Minuten später spielt alles wieder verrückt. Verrückt spielen heisst dabei, dass Inhalte verschwinden und wieder kommen (ich drücke reload/F5) Umlaute mal kaputt ("?") sind, mal korrekt ausgegeben werden.
Dann schaue ich wieder mit "/opt/lampp/bin/myisamchk -m *.MYI > log.txt" nach und erhalte wieder:
myisamchk: warning: 1 client is using or hasn't closed the table properly
MyISAM-table 'Page.MYI' is usable but should be fixed
myisamchk: warning: 1 client is using or hasn't closed the table properly
MyISAM-table 'SessionData.MYI' is usable but should be fixed
myisamchk: warning: 1 client is using or hasn't closed the table properly
MyISAM-table 'User.MYI' is usable but should be fixed
Und täglich grüsst das Murmeltier :-(
Das habe ich noch versucht:
1. Einen Dump der zuvor reparierten Datenbank,
2. neue Datenbank angelegt
3. Dump eingespielt
4. Applikation zur neuen Datenbank gewechselt
5 selbes Spiel :(
Und das verstehe ich nun gar nicht mehr: ich habe eine ganz frische Datenbank angelegt, wieso zerschiesst die sich innerhalb kürzester Zeit?
Weitere Hintergrundinfos:
1. auf dem Server laufen auch andere DB-gestützte Applikationen, wie am Schnürchen
2. die Datenbank über die ich schreibe wird nicht geupdatet, es finden ausschliesslich Leseoperationen statt
3. das System läuft mit XAMPP in der Version mit PHP 5.0.4 und MySQL 4.1.13, sind da evtl. Probleme bekannt?
Das geht jetzt schon seit Tagen so, der Kunde ist zurecht völlig verärgert und ich mit meinen Nerven am Ende.
Herzlichen Dank an alle, die das hier geduldig gelesen haben, ich bin über jeden Hinweis auf Fehlerquellen dankbar.
Der Hans