[Gelöst] mysqld_safe: mysqld restarted

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
maddaze
Beiträge: 8
Registriert: 25.05.2013 23:51:18

[Gelöst] mysqld_safe: mysqld restarted

Beitrag von maddaze » 26.05.2013 00:08:25

Hallo Freunde,
auf meinem VServer mit Debian 6.0.7 tickt seit heute morgen der mysql nicht mehr ganz sauber und ich bin jetzt, nach gut 12 Stunden am Ende mit meinem Latein. Scheinbar gab es ein Problem "Cannot fork - failed to allocate memory" und seit dem sich findet in

/var/log/syslog alle zwei, drei Minuten dieser Eintrag:

Code: Alles auswählen

May 25 23:47:44 vs127131 mysqld_safe: Number of processes running now: 0
May 25 23:47:44 vs127131 mysqld_safe: mysqld restarted
May 25 23:47:44 vs127131 mysqld: 130525 23:47:44 [Note] Plugin 'FEDERATED' is disabled.
May 25 23:47:44 vs127131 mysqld: 130525 23:47:44  InnoDB: Initializing buffer pool, size = 8.0M
May 25 23:47:44 vs127131 mysqld: 130525 23:47:44  InnoDB: Completed initialization of buffer pool
May 25 23:47:44 vs127131 mysqld: 130525 23:47:44  InnoDB: Started; log sequence number 0 45938
May 25 23:47:44 vs127131 mysqld: 130525 23:47:44 [Note] Event Scheduler: Loaded 0 events
May 25 23:47:44 vs127131 mysqld: 130525 23:47:44 [Note] /usr/sbin/mysqld: ready for connections.
May 25 23:47:44 vs127131 mysqld: Version: '5.1.66-0+squeeze1'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Debian)
Anschliessend werden offensichtlich immer wieder alle Datenbank gecheckt und als fehlerhaft gemeldet:

Code: Alles auswählen

May 25 23:48:01 vs127131 mysqld: 130525 23:48:01 [ERROR] /usr/sbin/mysqld: Table './confixx/allgemein' is marked as crashed and should be repaired
May 25 23:48:01 vs127131 mysqld: 130525 23:48:01 [Warning] Checking table:   './confixx/allgemein'
May 25 23:57:02 vs127131 mysqld: 130525 23:57:02 [ERROR] /usr/sbin/mysqld: Table './confixx/zeiten' is marked as crashed and should be repaired
May 25 23:57:02 vs127131 mysqld: 130525 23:57:02 [Warning] Checking table:   './confixx/zeiten'
Ich habe bereits mehrfach

Code: Alles auswählen

/etc/init.d/mysql stop
myisamchk --force --update-state --extend-check /var/lib/mysql/*/*.MY
/etc/init.d/mysql start
ausgeführt - nach zwei Minuten startet mysqld_safe aber den mysqld wieder neu und die Prozedur beginnt von vorne. Das System wird dabei manchmal so derbe in Mitleidenschaft gezogen, dass sowohl der apache als sogar rsyslogd plötzlich nicht mehr laufen - ohne jeden Hinweis in den Logs wohlgemerkt.

Meine Googelei brachte nichts wirklich ergiebiges - die wohl häufigste Ursache für dies Verhalten "Mangelnder Plattenplatz" ist jedenfalls noch reichlich vorhaden.

Obendrein findet sich - auf dem Host läuft Confixx - in /var/log/apache2/error.log dies hier:

Code: Alles auswählen

piped log program '/root/confixx/pipelog.pl' failed unexpectedly
ohne weitere Angaben wie Zeitstempel, etc... alles sehr seltsam.

Für Hilfe bin ich gerade wirklich dankbar - sonst werde ich wohl heute Nacht durchmachen und die Erreichbarkeit des Servers sicherstellen müssen.
Zuletzt geändert von maddaze am 27.05.2013 18:45:08, insgesamt 1-mal geändert.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: mysqld_safe: mysqld restarted

Beitrag von rendegast » 26.05.2013 12:26:29

May 25 23:48:01 vs127131 mysqld: 130525 23:48:01 [ERROR] /usr/sbin/mysqld: Table './confixx/allgemein' is marked as crashed and should be repaired
May 25 23:57:02 vs127131 mysqld: 130525 23:57:02 [ERROR] /usr/sbin/mysqld: Table './confixx/zeiten' is marked as crashed and should be repaired
Sowas soll mit "Mangelndem Plattenplatz" zusammenhängen?


/etc/init.d/mysql stop
myisamchk [--force --update-state] [--extend-check] [--verbose] /var/lib/mysql/*/*.MY
Müßte es nicht auf eine Endung festlegen, *.MYI ?
Ausgaben sollte es geben, auch ohne '--verbose',
in diesem Fall zumindest "myisamchk: error: File '/var/lib/mysql/*/*.MY' doesn´t exist".


/var/lib/mysql/mysql_upgrade_info zeigt auch 5.1.66?

Code: Alles auswählen

mysql_upgrade -p [--force] [-T]


---------------------------------------------------------------
wikipedia:Confixx
Aktuelle Version 3.3.9
(18. November 2011)
May 25 23:47:44 vs127131 mysqld: Version: '5.1.66-0+squeeze1'
(aktuell von oracle wäre 5.1.69, 2013-03)
Bäääh,
http://packages.debian.org/mysql-server resp. Debianmysql-server
führt für squeeze nicht (mehr?) die security-Version (5.1.66, 2012-11), nur (noch) das Haupt-Repo (5.1.49) auf.

(Kleiner Bug der (squeeze) mysql-server*-Pakete, die Startlinks werden beim Purge nicht entfernt.
-> 'insserv -v')
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

maddaze
Beiträge: 8
Registriert: 25.05.2013 23:51:18

Re: mysqld_safe: mysqld restarted

Beitrag von maddaze » 26.05.2013 13:32:02

Sowas soll mit "Mangelndem Plattenplatz" zusammenhängen?
Nuja, wenn zB /var/ keinen Speicherplatz mehr zur Verfügung hat, weil die Logs alles belegen, kann auch nichts mehr in die Datenbanken geschrieben werden, oder? ;) Wie gesagt, das schließe ich aus.
Müßte es nicht auf eine Endung festlegen, *.MYI ?
Das habe ich auch so gemacht, beim Copy und Paste ging wohl das "I" verloren (war schon spät).
root@vs127131:~# mysql_upgrade -p
Enter password:
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
This installation of MySQL is already upgraded to 5.1.66, use --force if you still need to run mysql_upgrade
So ist es wohl...

Vielleicht liegt es ja an der Ressourcennutzung meines Servers bzw. eine fehlerhafte Konfiguration des Hostsystems?

Code: Alles auswählen

root@vs127131:~ # uname -a
Linux vs127131 2.6.32-5-openvz-amd64 #1 SMP Sun May 6 05:21:56 UTC 2012 x86_64 GNU/Linux

root@vs127131:/home/alienjones# grep -ve " 0$" /proc/user_beancounters
Version: 2.5
       uid  resource                     held              maxheld              barrier                limit              failcnt
   127131:  kmemsize                 14770020             37707030             37694577             41464034                  288
            lockedpages                     0                   24                   32                   32                   15
            privvmpages                119842               363068               327680               360448                 9238
            numproc                        79                  180                  180                  180                    1
            oomguarpages                62273               245148               262144               262144                 2170
Wobei die Kiste 6 Wochen absolut stabil lief und nun sogar im "Notlauf" mit abgeschaltetem Postfix permanent mysqld_safe: mysqld restarted macht und ich keinen Trafficspike habe, ganz im Gegenteil. Ich weiss gerade echt nicht mehr weiter...

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: mysqld_safe: mysqld restarted

Beitrag von rendegast » 27.05.2013 14:50:27

Aber was gibt myisamchk denn bei Anwendung auf die entsprechenden Dateien aus?
Wird eine getätigte Reparatur oder fehlgeschlagener Versuch ausgegeben?

Hast Du Dein confixx schonmal mit Deinem Backup verglichen?

Das webfrontend / webserver erstmal nur an localhost binden.
Vielleicht treibt ein Hacker Schabernack?

Die confixx-Logs prüfen,
ob durch Einstellungsänderungen vielleicht eine mittlerweile unpassende sql-Anweisung durchgeführt wurde.
Systemmails diesbezüglich erhalten?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

maddaze
Beiträge: 8
Registriert: 25.05.2013 23:51:18

Re: mysqld_safe: mysqld restarted

Beitrag von maddaze » 27.05.2013 18:43:57

Ok, das war ein hartes Wochenende mit wenig Schlaf. Aber ich dürfte zumindest lernen, dass ein VServer eben kein Server ist - die Ursache meiner Probleme lag im OOM-Killer der VZ. Der schiesst Prozesse einfach ab, wenn sie über die Stränge schlagen - allerdings ohne irgendetwas im syslog zu hinterlassen. Herausfinden kann man das auf einem VServer mit 'cat /proc/user_beancounters'. Ich habe nun also Optimierungen an den Apache- und MySQL-Konfigurationen vorgenommen um meine RAM-Ressourcen besser zu nutzen und siehe da - still ruht der See, alles läuft wieder ruhig.

Vielen Dank für eure Aufmerksamkeit :)

Antworten