Report this

What is the reason for this report?

Automatically restart MySQL on Ubuntu 16.04.x - If statement may be wrong?

Posted on September 16, 2016

Hey guys!

I have a Ubuntu 16.04.x server, where I installed MySQL. Works great and everything, but I would like MySQL to be restarted if it, for any reason stops. First of all, i know this isn’t a very good solution, because there is a reason that the MySQL proccess stops. But I also have a Ubuntu 14.04.x server which has been running for over a year, where it happend 2 times. In these cases it would be really nice to get it up and running again. I have my logs to see why it went down.

So to the actual thing I need help with:

I found this script, that claims to be able to restart MySQL if it stops:

I have made a file called mysqlfix.sh in /root/

#!/bin/bash
PATH=/usr/sbin:/usr/bin:/sbin:/bin
if [[ ! "$(/usr/sbin/service mysql status)" =~ "start/running" ]]
then
    echo " The MySQL service on the server has been stopped. It has now been restarted." | mail -s " MySQL has been restarted" my@email.com
    sudo service mysql start
fi

Then made sure that it can run:

chmod +x mysqlfix.sh

Then added a cron job(crontab -e) that checks it every minute:

chmod +x mysqlfix.sh

This seems to be working on Ubuntu 14.04.x. But not on my new Ubuntu 16.04 server. It sends me an E-mail every minute with the “The MySQL has been restarted” message. This makes me think that the if statement is wrong. But I haven’t been able to find what is wrong with it.

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Start building today

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.