当前位置:Gxlcms > 数据库问题 > mysql检测脚本

mysql检测脚本

时间:2021-07-01 10:21:17 帮助过:4人阅读

1,根据mysql端口3306来判断服务启动正不正常


netstat -lnt|grep 3306|awk -F ‘[: ]+ ‘ ‘{print $5}‘  //获取端口号比较来判断

#!/bin/sh
PortNum=`netstat -lnt|grep 3306|awk -F ‘[: ]+ ‘ ‘{print $5}‘`
if [ "$PortNum" == 3306 ];then
  echo "db is running"
else
  /data/3306/mysql restart
fi



netstat -lnt|grep 3306|wc -l    //结果等于1,数据库运行正常;结果等于0,数据库运行不正常

#!/bin/sh

PortNum=`netstat -lnt|grep 3306|wc -l`
if [ $PortNum -eq 1 ];then
  echo "db is running"
else
  /data/3306/mysql restart
fi


2,如果mysql端口和进程同时存在,才认定mysql服务正常


ps -ef|grep mysql|grep -v grep|wc -l  //把进程转换为行数,方便做判断:正常启动进程数为2

#!/bin/sh
PortNum=`netstat -lnt|grep 3306|wc -l`
mysqlProcessNum=`ps -ef|grep mysqld|grep -v grep|wc -l`
//if [ $PortNum -eq 1 ] && [ $mysqlProcessNum -eq 2 ];then
if [ $PortNum -eq 1 -a $mysqlProcessNum -eq 2 ];then
  echo "db is running"
else
  /data/3306/mysql start
fi


#!/bin/sh
mysqlProcessNum=`ps -ef|grep mysqld|grep -v grep|wc -l`
PortNum=`netstat -lnt|grep 3306|wc -l`
MysqlStartUp="/data/3306/mysql"
LogPath="/tmp/mysql.log"
if [ $PortNum -eq 1 -a $mysqlProcessNum -eq 2 ];then
  echo "db is running"
else
  $MysqlStartUp start >$LogPath
sleep 10;
  mysqlProcessNum=`ps -ef|grep mysqld|grep -v grep|wc -l`
  PortNum=`netstat -lnt|grep 3306|wc -l`
 if [ $PortNum -ne 1 ] && [ $mysqlProcessNum -ne 2 ];then
    while true
    do
      killall mysqld >/dev/null 2>&1
      [ $? -ne 0 ] && break
      sleep 1
    done
    $MysqlStartUp start >>$LogPath && status="successfully"||status="failure"
   
  [ $PortNum -eq 0 ] && $MysqlStartUp start >>/tmp/mysql.log
  [ $? -eq 0 ] && echo "mysql is started"
  fi 
  mail -s "mysql startup status is $status" 441009395@qq.com < $LogPath
fi

模拟登陆判断:

mysql -uroot -p‘123456‘ -S /data/3306/mysql.sock -e "select version();" >/dev/null 2>&1
#!/bin/sh
mysqlstatus=`mysql -uroot -p‘123456‘ -S /data/3306/mysql.sock -e "select version();" >/dev/null 2>&1`
if [ $? -eq 0 ];then
  echo "db is running"
else
  /data/3306/mysql restart
fi


mysql检测脚本

标签:mysql

人气教程排行