帮助中心

这里有最新的使用文档和教程

< 返回

Centos7 mysql守护(定时检测mysql运行状态)

2022-11-09 14:37 作者:31IDC 阅读量:1234 所属分类:Linux系统

如果您服务器的内存不足或者执行大量消耗CPU、内存等操作时(比如出现攻击,或大量的采集入库行为时),可能会造成mysql数据库异常停止的故障。

此守护脚本进程可以定时检测mysql服务是否运行,如果未正常运行,会自动启动。

如果您使用的是宝塔面板,可以进入宝塔面板--任务计划中添加shell脚本计划

守护脚本如下:

脚本一(适用于宝塔面板):

pgrep -x mysqld &> /dev/null

if [ $? -ne 0 ];then

        bash /www/server/panel/script/rememory.sh   

        /etc/init.d/mysqld start      

fi

 

如果您想手动添加任务计划也是可以的,通过ssh进入服务器内,将脚本二写入到一个sh文件里,然后可以通过crontab -e 手动添加任务计划。

具体操作如下:

1,新建mysql_status.sh 文件,并写入以下脚本:

vi /root/mysql_status.sh

 

#!/bin/bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export PATH

pgrep -x mysqld &> /dev/null

if [ $? -ne 0 ]

then

echo "At time:$(date) :MySQL is stop .">> /var/log/mysql_messages

/etc/init.d/mysqld start

else

exit

fi

 

:wq   #保存

2,crontab -e 进入编辑crond服务,添加如下命令:

*/5 * * * * /root/mysql_status.sh

:wq  #保存退出

3,重启crond服务

systemctl restart crond

 

这样就完成了mysql 的进程赛程任务了。

31IDC - 12 年深耕海外 IDC 高端资源