MySQL lässt sich nicht per init Script beenden

nasenmann
Posts: 13
Joined: 2006-02-19 23:52

MySQL lässt sich nicht per init Script beenden

Post by nasenmann »

Hallo,

ich betreibe ein Debian Sarge System, auf dem ein per apt installiertes MySQL 4 seinen Dienst tut.
Da wir für einige Scripte nun MySQL 5 brauchen, habe ich aus den Sourcen eine MySQL 5 installiert, welche mit anderen Port, Socket und Verzeichnissen ausgestattet ist. Nach der Installation habe ich das init Script aus dem Source Verzeichnis support-files/mysql.server nach /etc/init.d/mysql5 kopiert. Starten funktioniert damit wunderbar, nur der Aufruf des Scriptes mit Stop funktioniert nicht, das Script läuft ewig aber der MySQL Daemon wird nicht beendet. Auf einem Edge System funktioniert das ganze wunderbar.
Hat jemand einen Tip für mich, wie ich das Problem beheben kann?

Grüße
Top

lord_pinhead
RSAC
Posts: 830
Joined: 2004-04-26 15:57

Re: MySQL lässt sich nicht per init Script beenden

Post by lord_pinhead »

Wird die PID Datei nicht geladen? Was bringt er als Ausgabe.
Top

nasenmann
Posts: 13
Joined: 2006-02-19 23:52

Re: MySQL lässt sich nicht per init Script beenden

Post by nasenmann »

Ich habe ihm nun einmal im Script das PID File mitgegeben:

Code: Select all

Server_pid_file=/var/lib/mysql5/mysql5.pid
Aber auch das bringt keine Besserung.
Das ist die Ausgabe, im Error Log steht nichts drin.

Code: Select all

# /etc/init.d/mysql5 stop
Shutting down MySQL...................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................
Er macht jede Sekunde so einen Punkt, mehr nicht...

[Edit]
Ich habe mir nun einmal das MySQL5 Init Script von Edge auf den Server geholt und angepasst, damit habe ich das gleiche Problem. Des weiteren habe ich festgestellt, das der 4er MySQL nach dem Start 12 Prozesse laufen hat, die kompilierte 5er Version ebenso. Kann es sein, das die beiden sich gegenseitig behindern?
[/Edit]
Top

nasenmann
Posts: 13
Joined: 2006-02-19 23:52

Re: MySQL lässt sich nicht per init Script beenden

Post by nasenmann »

Nachtrag:

Nach dem ich mich nun seit Tagen mit dem Problem rumärgere und schon einige maile neu kompiliert habe, diverse Änderungen am init Script vorgenommen habt, bin ich immer noch nicht weiter und verzweifelt. Wenn ich nun ein /etc/ini.t/mysql5 stop mache, bekomme ich im Log folgende Meldung:

Code: Select all

070423 18:16:53 [Note] /usr/local/mysql5/libexec/mysqld: Normal shutdown
Aber beendet wird das ganze nach wie vor nicht. Hatte schon einmal jemand das Problem? Was kann ich noch machen?
Top

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: MySQL lässt sich nicht per init Script beenden

Post by daemotron »

Für mich klingt das sehr ominös - MySQL sollte eigentlich pro Instanz nur einen Prozess starten. Irgendwas läuft da bei Dir schief...

Aus der Trickkiste, um MySQL beim Beenden ins Jenseits zu befördern:

Code: Select all

kill $(netstat -xlpen | grep /dein/mysqld/socket | awk '{print $2}')
Top

nasenmann
Posts: 13
Joined: 2006-02-19 23:52

Re: MySQL lässt sich nicht per init Script beenden

Post by nasenmann »

@jfreund

danke für das Mini Script, das schafft erstmal Abhilfe. Das irgendwas nicht stimmt, habe ich mir auch schon gedacht. Nur weiss ich nicht wirklich, was da nicht passt.

Hier mal eine Ausgabe, eventuell kann jemand was erkennen:

Code: Select all

# ps aux |grep mysql
mysql    26476  0.0  0.5 76432 5500 ?        S    Apr18   0:43 ./sbin/mysqld
mysql    26480  0.0  0.5 76432 5500 ?        S    Apr18   0:43 ./sbin/mysqld
mysql    26481  0.0  0.5 76432 5500 ?        S    Apr18   0:00 ./sbin/mysqld
mysql    26482  0.0  0.5 76432 5500 ?        S    Apr18   0:00 ./sbin/mysqld
mysql    26483  0.0  0.5 76432 5500 ?        S    Apr18   0:00 ./sbin/mysqld
mysql    26484  0.0  0.5 76432 5500 ?        S    Apr18   0:00 ./sbin/mysqld
mysql    26485  0.0  0.5 76432 5500 ?        S    Apr18   1:53 ./sbin/mysqld
mysql    26486  0.0  0.5 76432 5500 ?        S    Apr18   1:21 ./sbin/mysqld
mysql    26487  0.0  0.5 76432 5500 ?        S    Apr18   0:00 ./sbin/mysqld
mysql    26488  0.0  0.5 76432 5500 ?        S    Apr18   0:09 ./sbin/mysqld
mysql    26489  0.0  0.5 76432 5500 ?        S    Apr18   0:00 ./sbin/mysqld
mysql    27219  0.0  0.5 76432 5500 ?        S    22:05   0:00 ./sbin/mysqld
root     27444  0.2  0.1  2304 1112 ttyp2    S    22:07   0:00 /bin/sh /usr/local/mysql5/bin/mysqld_safe --datadir=/var/lib/mysql5 --pid-file=/var/lib/mysql5/mysql5.pid
mysql    27475  2.0  1.4 58336 14496 ttyp2   S    22:07   0:00 /usr/local/mysql5/libexec/mysqld --basedir=/usr/local/mysql5 --datadir=/var/lib/mysql5 --user=mysql --pid-file=/var/lib/mysql5/mysql5.pid --skip-external-locking --port=3307 --socket=/var/run/mysqld/mysql5.sock
mysql    27477  0.0  1.4 58336 14496 ttyp2   S    22:07   0:00 /usr/local/mysql5/libexec/mysqld --basedir=/usr/local/mysql5 --datadir=/var/lib/mysql5 --user=mysql --pid-file=/var/lib/mysql5/mysql5.pid --skip-external-locking --port=3307 --socket=/var/run/mysqld/mysql5.sock
mysql    27478  0.0  1.4 58336 14496 ttyp2   S    22:07   0:00 /usr/local/mysql5/libexec/mysqld --basedir=/usr/local/mysql5 --datadir=/var/lib/mysql5 --user=mysql --pid-file=/var/lib/mysql5/mysql5.pid --skip-external-locking --port=3307 --socket=/var/run/mysqld/mysql5.sock
mysql    27479  0.0  1.4 58336 14496 ttyp2   S    22:07   0:00 /usr/local/mysql5/libexec/mysqld --basedir=/usr/local/mysql5 --datadir=/var/lib/mysql5 --user=mysql --pid-file=/var/lib/mysql5/mysql5.pid --skip-external-locking --port=3307 --socket=/var/run/mysqld/mysql5.sock
mysql    27480  0.0  1.4 58336 14496 ttyp2   S    22:07   0:00 /usr/local/mysql5/libexec/mysqld --basedir=/usr/local/mysql5 --datadir=/var/lib/mysql5 --user=mysql --pid-file=/var/lib/mysql5/mysql5.pid --skip-external-locking --port=3307 --socket=/var/run/mysqld/mysql5.sock
mysql    27481  0.0  1.4 58336 14496 ttyp2   S    22:07   0:00 /usr/local/mysql5/libexec/mysqld --basedir=/usr/local/mysql5 --datadir=/var/lib/mysql5 --user=mysql --pid-file=/var/lib/mysql5/mysql5.pid --skip-external-locking --port=3307 --socket=/var/run/mysqld/mysql5.sock
mysql    27485  0.0  1.4 58336 14496 ttyp2   S    22:07   0:00 /usr/local/mysql5/libexec/mysqld --basedir=/usr/local/mysql5 --datadir=/var/lib/mysql5 --user=mysql --pid-file=/var/lib/mysql5/mysql5.pid --skip-external-locking --port=3307 --socket=/var/run/mysqld/mysql5.sock
mysql    27486  0.0  1.4 58336 14496 ttyp2   S    22:07   0:00 /usr/local/mysql5/libexec/mysqld --basedir=/usr/local/mysql5 --datadir=/var/lib/mysql5 --user=mysql --pid-file=/var/lib/mysql5/mysql5.pid --skip-external-locking --port=3307 --socket=/var/run/mysqld/mysql5.sock
mysql    27487  0.0  1.4 58336 14496 ttyp2   S    22:07   0:00 /usr/local/mysql5/libexec/mysqld --basedir=/usr/local/mysql5 --datadir=/var/lib/mysql5 --user=mysql --pid-file=/var/lib/mysql5/mysql5.pid --skip-external-locking --port=3307 --socket=/var/run/mysqld/mysql5.sock
mysql    27488  0.0  1.4 58336 14496 ttyp2   S    22:07   0:00 /usr/local/mysql5/libexec/mysqld --basedir=/usr/local/mysql5 --datadir=/var/lib/mysql5 --user=mysql --pid-file=/var/lib/mysql5/mysql5.pid --skip-external-locking --port=3307 --socket=/var/run/mysqld/mysql5.sock
root     27496  0.0  0.0  1536  456 ttyp2    R+   22:07   0:00 grep mysql
Top