宝塔MySQL数据库经常自动停止或者掉线的解决方案

 解决方案

 


1、MySQL监控

宝塔面板--->计划任务,输入任务名称、执行周期、脚本内容


脚本内容如下:


pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ];then
bash /www/server/panel/script/rememory.sh   
/etc/init.d/mysqld start    
echo "监控到MySQL已停止,已执行重启计划,时间: `date "+%Y-%m-%d %H:%M:%S"` " >> /www/mysql_jiankong.log  
fi


如图:
image


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