View Full Version : MySQL down
Yesterday (it was the first time ever) that the MySQL on one of my ispconfig servers went down.
Although, monit has been installed. Monit did not start the MySQL again.
Within the log files i could not find something related to the problem.
That this could happen was very unplesant.
I started mysql again with /etc/init.d/mysql start, but i would like to know how it could happen and why monit did not start mysql (as i expect it to).
I have these lines within the file /etc/monit/monitrc for mysql:
check process mysql with pidfile /var/run/mysqld/mysqld.pid
group database
start program = "/etc/init.d/mysql start"
stop program = "/etc/init.d/mysql stop"
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout
Can anyone advise me how to prevent this problem and tell me what the reason might be.
falko
8th June 2008, 13:47
Did you find any MySQL errors in your logs?
You can add this to the MySQL stanza in monit to watch the MySQL socket:
if failed unixsocket /var/run/mysqld/mysqld.sock protocol mysql then restart
Thanks Falko,
I added that line as well and i hope it will restart mysql if it ever happens again. I try to find the cause within the log files one more time.
Hans
11th August 2008, 21:07
This afternoon it happened again that my MySQL-server went down and I don’t know why.
This is what I found in the /var/log/syslog:
Aug 11 14:32:01 server1 mysqld[30789]: 080811 14:32:01 [Note] /usr/sbin/mysqld: Normal shutdown
Aug 11 14:32:01 server1 mysqld[30789]:
Aug 11 14:32:03 server1 mysqld[30789]: 080811 14:32:03 InnoDB: Starting shutdown...
Aug 11 14:32:06 server1 mysqld[30789]: 080811 14:32:06 InnoDB: Shutdown completed; log sequence number 0 1984718085
Aug 11 14:32:06 server1 mysqld[30789]: 080811 14:32:06 [Note] /usr/sbin/mysqld: Shutdown complete
Aug 11 14:32:06 server1 mysqld[30789]:
Aug 11 14:32:06 server1 mysqld_safe[25747]: ended
Aug 11 14:32:06 server1 mysqld_safe[25818]: started
Aug 11 14:32:07 server1 mysqld[25821]: 080811 14:32:07 InnoDB: Started; log sequence number 0 1984718085
Aug 11 14:32:07 server1 mysqld[25821]: 080811 14:32:07 [Note] /usr/sbin/mysqld: ready for connections.
Aug 11 14:32:07 server1 mysqld[25821]: Version: '5.0.32-Debian_7etch6-log' socket: '/var/run/mysqld/mysqld.sock' port: 3306 Debian etch distribution
Aug 11 14:32:07 server1 /etc/mysql/debian-start[25859]: Upgrading MySQL tables if necessary.
Aug 11 14:32:08 server1 /etc/mysql/debian-start[25871]: Checking for crashed MySQL tables.
Aug 11 14:32:53 server1 monit[3598]: 'mysql' process PID changed to 25820
Aug 11 14:32:53 server1 monit[3598]: 'mysql' process PPID changed to 25783
I was able to restart it with /etc/init.d/mysql restart.
Monit did not restart MySQL, when MySQL-server went down.
How is that possible?
Hans
12th August 2008, 23:08
It seemed that the MySQL threads go up to the maximum value within /etc/my.cnf and then drop. It seems also the reason that Monit could not restart MySQL-server again.
By increasing the max_connections setting for MySQL to a higher value, this can be avoided.
I hope that this problem is over now.
For more monitoring for MySQL, I also changed the MySQL section within /etc/monit/monitrc into:
#MySQL
check process mysql with pidfile /var/run/mysqld/mysqld.pid
group database
start program = "/etc/init.d/mysql start"
stop program = "/etc/init.d/mysql stop"
if failed host 127.0.0.1 port 3306 then restart
if failed unix "/var/lib/mysql/mysql.sock" then restart
if 5 restarts within 5 cycles then timeout
depends mysqld_init
depends mysqld_bin
depends mysqldsafe_bin
check file mysqld_init with path /etc/init.d/mysql
group database
check file mysqld_bin with path /usr/sbin/mysqld
group database
check file mysqldsafe_bin with path /usr/bin/mysqld_safe
group database
I want to thank Till & Falko for their help.
vBulletin® v3.8.7, Copyright ©2000-2012, vBulletin Solutions, Inc.