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

Auth:张老道       Date:2023/06/6       Cat:技术       Word:共1054字       Views:189

服务器内存太小,被恶意的注入次数过多导致数据库服务停止

image-20230606144950414

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-20230606144353142

监控日志存放的目录:

image-20230606144313613

image-20230606144542655


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|72|73|74} 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监控,添加了以后记得测试一下任务是否有效,去宝塔停止MySQL、Nginx,然后执行一下这个任务,看看MySQL和Nginx状态是否开启。

《宝塔MySQL数据库经常自动停止或者掉线的解决方案》留言数:0

发表留言