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

[复制链接] |主动推送
查看43 | 回复0 | 2024-9-11 18:18:27 | 显示全部楼层 |阅读模式
如果您服务器的内存不足或者执行大量消耗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 的进程赛程任务了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则