宝塔MySQL数据库经常自动停止掉线的解决方法
宝塔MySQL数据库经常自动停止掉线的解决方法详细介绍
排查时流量掉了,然后打开显示数据库连接错误,肯定是MySQL数据库自动停止了,一般遇到这种情况说明可能遭数据库或者服务器内存承受不住而掉线了,而且这种情况通常发生在晚上。
因为晚上我们要睡觉,没这个时间去盯着,所以我写了个定时监控脚本,可以定时间监控MySQL、Nginx是否停止,如果停止就执行重启任务,并且记录日志到 /www 目录
监控日志存放的目录:
监控的日志:
解决方案 1、MySQL监控 --->计划任务,输入任务名称、执行周期、脚本内容
脚本内容如下:
pgrep -x d &> /dev/null if [ $? -ne 0 ];then bash /www/server/panel/script/rememory.sh /etc/init.d/d start echo "监控到MySQL已停止,已执行重启计划,时间: `date "+%Y-%m-%d %H:%M:%S"` " >> /www/_jiankong.log fi 效果如下:
2、Nginx监控 --->计划任务,输入任务名称、执行周期、脚本内容
脚本内容如下:
pgrep -x nginx &> /dev/null if [ $? -ne 0 ];then /etc/init.d/nginx start echo "监控到Nginx已停止,已执行重启计划,时间: `date "+%Y-%m-%d %H:%M:%S"` " >> /www/Nginx_jiankong.log fi 3、PHP监控 --->计划任务,输入任务名称、执行周期、脚本内容
脚本内容如下:
注意:下面第3行代码中的52~73是指php版本5.2 7.3
pgrep -x php-fpm &> /dev/null if [ $? -ne 0 ];then /etc/init.d/php-fpm-{52|53|54|55|56|70|71|73} restart echo "监控到php已停止,已执行重启计划,时间: `date "+%Y-%m-%d %H:%M:%S"` " >> /www/php_jiankong.log fi 4、redis监控 脚本内容如下:
pgrep -x redis &> /dev/null if [ $? -ne 0 ];then /etc/init.d/redis start fi
5、memcached监控 脚本内容如下:
pgrep -x memcached &> /dev/null if [ $? -ne 0 ];then /etc/init.d/memcached restart fi
一般我们只需要添加MySQL和Nginx监控,其他的不需要添加,我只加了前面2个,添加了以后记得测试一下任务是否有效,去宝塔停止MySQL、Nginx,然后执行一下这个任务,看看MySQL和Nginx状态是否开启。 ———————————————— 版权声明:本文为CSDN博主「龙飞瘦了」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/t1174148618/article/details/127299153
,