51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

服务器负载了,导致MySQL老是自动停止怎么办?

当你打开网站的时候,有时候出现数据报错,在检查网站程序没问题后,你应该定位到数据库的链接或者是数据库的服务是不是开启了(宝塔里),我们可以看下错误截图:

image.png

这个问题很普遍,今天就分享下在宝塔里如何去避免这种情况,由于我们不可能时时刻刻盯着服务器是吧。下面和大家分享下MySQL服务自动停止的解决方法,MySQL服务自动停止原因是内存耗尽导致数据库停止工作。

大部分人的解决办法几乎都是这样的:


service mysqld restart

然而用这样的方法确实可以解决问题,但是治标不治本,尤其是像wordpress这样的程序,消耗内存极其严重,可以使用下面几个解决方法。

1、升级服务器硬件,加大内存。

2、优化程序,减少内存开销

3、监控MySQL进程是否为启动,如果停止,则自动启动数据库,使用下面代码:

#!/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 ] echo At time:$(date) :MySQL is 

stop . /var/log/mysql_messages service mysqld start fi

或者使用下面的代码:


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

把上面的代码加入到计划任务,每隔几分钟检测一次,这样就比较稳妥了。现在用宝塔的人比较多,如果你用的是宝塔把上面的代码从"计划任务"=》"添加计划任务",然后填写你的任务名称,选择好时间,最后加入上面的代码即可。

赞(0)
未经允许不得转载:工具盒子 » 服务器负载了,导致MySQL老是自动停止怎么办?