宝塔面板网站安装WordPress(WP)后MySql经常自动停止,原因及解决方案

不少朋友都遇到这样的问题,由于某种原因我们购买了很便宜的云主机(或者虚拟主机),比如1核心1G或者1核心2G这样的主机,这样入门级的云主机在安装Wordpress博客系统后,网站会不定时的挂掉无法访问,提示数据库连接失败,进入宝塔面板后会发现MySQL服务已经停止,重启MYSQL后网站恢复访问。仔细研究了一下,原来是我们购买的云主机内存太小,网站运行过久或者运行耗费资源的功能时(如大通过后台大量上传文件或者删除文件,前台突然大流量访问等),就会出现内存耗尽的情况,这时MySQL服务就会自动停止,造成网站无法访问。

在不增加云主机费用和配置的前提下,如何通过技术手段彻底解决这个问题呢?网络上有一些教程会让你关掉MySQL的日志啥的,其实效果不明显,经过测试我们发现只要做以下两件事就可以(以宝塔面板为例):

1,宝塔面板添加一条自动释放内存的计划任务,每天凌晨3点释放内存(频率可根据需要自己掌控,你也可以设定为一周释放一次);

【方法】:登录宝塔面板,选择“计划任务”菜单,进去后添加任务,任务类型选择“释放内存”,然后选择周期,比如可以每天凌晨3点,然后保存即可。

2,宝塔面板添加一条“MySQL状态守护”的计划任务,每个一定时间(比如5分钟)检测一下MySQL服务状态,如果停止,那么自动启动。

【方法】:登录宝塔面板,选择“计划任务”菜单,添加任务时,任务类型选择“Shell脚本”,名称随便填,比如“MySQL进程守护”;周期可按需求填写,比如我写的是5分钟检测一次;然后将以下脚本填入“脚本内容”文本框中,最后保存即可。
pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ];then
bash /www/server/panel/script/rememory.sh
/etc/init.d/mysqld start
fi

经过实测,这样基本上解决了我的MySQL自动停止的问题。另外,如果你的MySQL停止频率很高,你可以把设置的检测周期缩短为1分钟,那么基本遇到问题1分钟内都会自动恢复了。如果你用的是虚拟主机并且没有脚本执行面板,那么你需要联系你的主机商帮你解决。最后如果你用的不是宝塔面板,原理其实是一样的,只要把守护代码加入Linux系统的计划任务就好了。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注