执着等待等wc 发表于 2024-9-11 18:18:27

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

如果您服务器的内存不足或者执行大量消耗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 的进程赛程任务了。
页: [1]
查看完整版本: Centos7 mysql守护(定时检测mysql运行状态)