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?
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Click below to sign up and get $100 of credit to try our products over 60 days!
Hello, all
You can create a simple bash script to check if MySQL is running and if not to restart it.
Run this script every 5 minutes using a cron job like this one:
Hope that this helps! Regards, Alex
The additional line limits how many time within a specific period the process can restart. From the Upstart docs:
So if you had:
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.