Probleme mit mysql-server

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
pythondiger
User
Beiträge: 12
Registriert: Freitag 26. Dezember 2014, 15:45

Hallo zusammen,

seit geraumer Zeit habe ich auf einem Raspberry eine kleine Applikation am Laufen, die zyklisch Temperaturwerte in eine mysql-DB schreibt.
Dazu gibt's natürlich auch ein Auswerte-Frontend.
Wie ich jetzt festgestellt habe, sind die Daten in der Auswertung veraltet.

Beim Versuch die Auswertungen zu erstellen, sagt mir Python:
UPDATE werte SET datzeit_num = STR_TO_DATE(datzeit, '%a %b %d %H:%i:%s %Y') WHERE ISNULL (datzeit_num)
Traceback (most recent call last):
File "diagramme.py", line 266, in <module>
main()
File "diagramme.py", line 244, in main
setfield_my_timestamp ()
File "diagramme.py", line 119, in setfield_my_timestamp
cur.execute (SQL_str)
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (2013, 'Lost connection to MySQL server during query')
In mysql (lokal) kann ich auf die DB wechseln. Wenn ich nun aber auf die Tabelle mit den Temperaturen zugreife (z.B. select oder describe), so erhalte ich die Fehlermeldung
Current database: mydatabase

ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
ERROR:
Can't connect to the server
Das klingt nach großen DB-Problemen.

Ich habe zunächst natürlich einen Reboot gemacht, um sicherzustellen, dass der Server läuft.
Speicherplatz auf der SD ist auch noch in Hülle und Fülle vorhanden (df meldet auf / 13% Belegung)

Was könnte noch die Ursache sein und was kann ich tun (außer den Raspberry neu aufzusetzen) ?
BlackJack

@pythondiger: Das klingt ja fast so als wenn der Datenbankserver abschmiert. Musst halt mal schauen ob Du herausfinden kannst *warum*.
pythondiger
User
Beiträge: 12
Registriert: Freitag 26. Dezember 2014, 15:45

Nach längerer Suche in diversen Log-Files hat sich herausgestellt, dass das Dateisystem defekt ist.
Das hindert den MySQL-Server erfolgreich daran zu starten, da der Defekt ihn direkt trifft.
Ein Versuch, das FS zu reparieren, war ohne Erfolg. Beim Booten hagelt es massiv Fehlermeldungen.

Das zeigt, dass auch unter Linux die Dateisysteme nicht absolut stabil sind, wenn man einmal den Stecker zieht. Und das passiert am PI leider sehr leicht, da der USB-Stecker nicht richtig fest sitzt :-)

Jetzt mache ich erst einmal eine Sicherung der gesamten SD-Karte und dann werde ich wohl das ganze System nochmals aufsetzen.
BlackJack

@pythondiger: Das kommt auch ein bisschen auf's Dateisystem an und auf die Einstellungen würde ich sagen. Und das Dateisystem selber sollte man eigentlich immer repariert bekommen.
pythondiger
User
Beiträge: 12
Registriert: Freitag 26. Dezember 2014, 15:45

Danke für die aufbauenden Worte.

Ich nutze den Standard EXT4.

Ein shutdown -F zum Überprüfen des Dateisystems hat viele Meldungen und Korrekturen gebracht. Der folgende Boot kommt allerdings nicht einmal mehr bis zum Login.
EXT4 meldet noch immer einen filesystem error (mit falschen magics). Und kurz danach bleibt der Bootvorgang hängen :(

Die SD-Karte ist auf jeden Fall erst einmal gesichert (sofern ich damit noch etwas anfangen kann). Jetzt geht's dann an die Neuinstallation ...
Das wird allerdings wieder ein paar Tage dauern, je nach verfügbarer Zeit.
Antworten