温馨提醒

如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!

本文最后更新于2022年9月20日,已超过 30天没有更新

我们使用宝塔面板搭建网站时,Mysql数据库有时会意外停止,这时候我们只能登录服务器进行手动重启Mysql。那么怎么设置监控Mysql的运行情况,当数据库进程停止时,自动重启Mysql数据库呢?其实我们可以通过添加计划任务(Shell脚本)的方式来实现。具体操作方法如下:

登陆宝塔面板后台 – 计划任务。任务类型:Shell脚本 任务名称:Mysql进程守护 执行周期:比如每1分钟监控执行一次,具体的周期请根据自己服务器实际情况来设置。脚本内容:

脚本一

#!/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
bash /www/server/panel/script/rememory.sh
/etc/init.d/mysqld start
fi
echo "----------------------------------------------------------------------------"
endDate=`date +"%Y-%m-%d %H:%M:%S"`
echo "★[$endDate] Successful"
echo "----------------------------------------------------------------------------"

脚本二

pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ];then
bash /www/server/panel/script/rememory.sh
/etc/init.d/mysqld start
fi

如果只是普通的意外停止,可以手动重启Mysql成功的话
这个脚本是可以进行mysql守护的
需要注意的是,这个脚本带有释放内存的脚本 会重载php/nginx等
如有需要可以自行删除释放内存的代码
以下此行就是

bash /www/server/panel/script/rememory.sh
宝塔面板mysql数据库经常停止解决办法分享

当然你也可以增加内存或者Linux系统的swap虚拟内存,直接增加服务器配置增加内存是最简单粗暴的!

最终上述脚本整合为:

pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ];then
/etc/init.d/mysqld start 
fi

 

版权声明:原创作品,未经允许不得转载,否则将追究法律责任。
本站资源有的自互联网收集整理,如果侵犯了您的合法权益,请联系本站我们会及时删除。
本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
本文链接:悟空资源网https://www.wkzyw.com/29427.html
许可协议:《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权