下面的這個腳本用到了namp掃描工具,所以,系統中如果沒安裝nmap掃描工具的,需要先安裝該工具。
腳本的功能:
首先,檢測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 databasessql -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