在生产环境中很多人会经常遇到MySQL老是自动停止的情况,那么MySQL老是自动停止怎么办?下面和大家分享下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:~/binexportPATH pgrep-x mysqld/dev/nullif[$?-ne0]echoAttime:$(date):MySQLis stop./var/log/mysql_messages service mysqld start fi
或者使用下面的代码:
pgrep-x mysqld&>/dev/nullif[$?-ne0];then bash/www/server/panel/script/rememory.sh/etc/init.d/mysqld start fi
把上面的代码加入到计划任务,每隔几分钟检测一次,这样就比较稳妥了。现在用宝塔的人比较多,如果你用的是宝塔把上面的代码从“计划任务”=》“添加计划任务”,然后填写你的任务名称,选择好时间,最后加入上面的代码即可。