监听mysql是否挂了

时间:2022-02-04 05:43:07

监听mysql是否挂了,如果挂了就重启mysql

方式一:

#!/bin/bash
pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ]
  then
    echo "At time: `date` :MySQL  is stop .">> /var/log/mysql_messages 
    service mysql start
    #echo "At time: `date` :MySQL server is stop."
  else
    echo "MySQL server is running ."
fi
方式二: 判断端口和进程是否同时存在
portNum=`netstat -lnt | grep 3306 | wc -l`    // 注: wc -l 命令是显示文件的行数,也就是说如果能查到3306就至少会有一行内容。
mysqlProcessNum=`ps -ef | grep mysqld | grep -v grep | wc -l`
if [ $portNum -eq 1 -a $mysqlProcessNum -eq 1 ]
  then
    echo "db is running"
else
    service mysql start
fi
 
方式三: 模拟web服务器,连接mysql并进行操作,判断操作是否成功
mysqlStatus=`mysql -uroot -p'密码' -S /data/3306/mysql.sock -e "select version();" > $/dev/null`
// 或者 mysql -uroot -p密码 -S /data/3306/mysql.sock -e "select version();" > /dev/null 2> $1
if [ $? -eq 0 ] ; then
  echo "db is running"
else
  service mysql restart
fi
 
方式四:通过java程序方式监控mysql