当你打开网站的时候,有时候出现数据报错,在检查网站程序没问题后,你应该定位到数据库的链接或者是数据库的服务是不是开启了(宝塔里),我们可以看下错误截图:
这个问题很普遍,今天就分享下在宝塔里如何去避免这种情况,由于我们不可能时时刻刻盯着服务器是吧。下面和大家分享下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
把上面的代码加入到计划任务,每隔几分钟检测一次,这样就比较稳妥了。现在用宝塔的人比较多,如果你用的是宝塔把上面的代码从"计划任务"=》"添加计划任务",然后填写你的任务名称,选择好时间,最后加入上面的代码即可。