首先,檢測mysql端口是否正常存在,端口不存在就執行啟動mysql服務,當然,啟動的腳本的位置根據你的安裝路徑會有不同,然後如果端口存在,則有mysql服務在運行,那麼檢測mysql狀態,能不能正常連接,如能正常連接說明mysql正常,不做任何處理,如果不能正常連接,則殺掉所有mysql進程,然後啟動mysql服務,為什麼要殺掉進程而不進行正常的重起呢,是因為有時候MySQL是不能正常關閉的,所以不能正常重起,所以保險的做法是殺掉進程,然後啟動服務。(
#!/bin/bash
/usr/bin/nmap localhost |grep 3306
if [ $? -eq 0 ]
then
/usr/local/mysql/bin/MySQL -uxxxxx -pxxxxxx --connect_timeout=5 -e "show databases;"
if [ $? -ne 0 ]
then
/bin/ps aux |grep MySQL |grep -v grep | awk '{print $2}' | xargs kill -9
/usr/local/mysql/bin/mysqld_safe --user=MySQL & > /dev/null
fi
else
/usr/local/mysql/bin/mysqld_safe --user=MySQL & > /dev/null
fi