近期鸿硕发现宝塔中的mysql时常自动停止运行,这样就导致了站点中请求数据的部分无法显示,也无法进入网站后台,前几次我通过修改密码,修改phpmyadmin端口,直接重启mysql来处理,这样没有解决根本问题。
经过一段时间的摸索,鸿硕发现这个问题的根本应该是内存吃紧的问题,就这个方向来看,解决方式无非有两种:一是修改配置文件,对程序的内存使用做一些限制。而是服务器增加内存(经济情况允许的前提下)。
首先可以通过服务器日志来进行分析排查,查看服务器的系统日志 /var/log/messages,看下在 MySQL 自动停止的时间段内,有什么异常的日志信息,如果日志有提示 Out of memory 就可以判定,是服务器的内存使用不足,导致系统自动杀死的 MySQL 的进程
鸿硕的排查结果如下图:
这个结果和鸿硕判断的内存吃紧是一致的。
除了增加服务器内存之外,下面是一些常规的解决方案:
一,安装宝塔面板【linux工具箱】
添加设置SWAP大小,根据你的实际内存进行调整,swap是Linux下的虚拟内存,设置适当的swap可增加服务器稳定性,建议swap容量在真实内存容量的1.5倍左右,若您的服务器内存大于4GB,可设1-2GB的固定值,swap文件默认保存在/www/swap,设置前请确保磁盘空间够用。
二,根据你的实际内存进行mysql优化
设置好之后,重启数据库。
三,登陆宝塔后台-计划任务-添加Mysql守护,执行周期,可选择多长时间执行一次,比如10分钟监控执行一次,具体的周期请站长根据自己服务器实际情况来设置。