Upstart Doesn't Restart MySQL

January 19, 2015 565 views

Upstart isn't restarting mysqld after it crashes on my Ubuntu 14.04 droplet.

I've read the answers about adding swap space to avoid out-of-memory errors. They're helpful, since the crashes are indeed being caused by OOM errors. I've added swap space to minimize those.

But why isn't Upstart doing its job when crashes happen anyway?

The default /etc/init/mysql.conf script includes a respawn line. Shouldn't that ensure mysql gets restarted even when it runs out of memory?

There's also a respawn limit 2 5 line. Could that be preventing the restart somehow?

1 Answer

The additional line limits how many time within a specific period the process can restart. From the Upstart docs:

If the job is respawned more than COUNT times in INTERVAL seconds, it will be considered to be having deeper problems and will be stopped.

So if you had:

# respawn limit COUNT INTERVAL
respawn limit 3 10

If your process crashed more than three times within 10 seconds, it would not try to restart again. You may want to try increasing these values.

Have another answer? Share your knowledge.