1、进程和端口都成功才算mysql服务正常

 

#!/bin/bash
 
port=`netstat
-ntl |grep 3306 |wc -l`
process=`ps
-ef |grep mysql |grep -v grep |wc -l`
 if [ $port -eq 1 ]  && [ $process -eq 2 ]
then
echo "MySQL is running"
else
/etc/init.d/mysqld start
fi

 

2、使用客户端登陆MySQL执行命令,查看返回结果测试服务是否启动,理论上此方法最可靠。

#!/bin/bash
 
mysql
-uroot  -p123456 -e "select
version();" &> /dev/null
If [  $? -ne 0 ]
then
/etc/init.d/mysqld start
else
echo "MySQL is running"
fi