宝塔MYSQL服务自动停止解决方法
时间:2022-03-07 来源: 作者: 我要纠错
问题描述
服务器上安装的 MySQL,会出现自动停止的情况。出现这种现象,通常是服务器的内存不足导致的。
具体可以通过服务器日志来进行分析排查:
查看服务器的系统日志 /var/log/messages
看下在 MySQL 自动停止的时间段内,有什么异常的日志信息,如果日志有提示 Out of memory
就可以判定,是服务器的内存使用不足,导致系统自动杀死的 MySQL 的进程
解决办法
一、通过升级服务器的内存可以解决.
二、不想花钱,或者服务器偶尔不足,可以优化宝塔设置
服务器运行宝塔面板经常出现MySQL数据库自动停止,可能是由于云服务器内存吃紧的问题,新手站长网站这台云服务器是1核1G的,所以应该是内存太小导致的,那么怎么办?可以通过宝塔面板后台的Linux工具箱来设置Swap/虚拟内存:
首先登录到宝塔面板后台,选择左侧栏“软件商店”--“系统工具”--找到“Linux工具箱”,点击设置,选择“Swap/虚拟内存”,添加Swap,如下图所示:
宝塔Linux工具箱Swap/虚拟内存
- swap是Linux下的虚拟内存,设置适当的swap可增加服务器稳定性
- 建议swap容量在真实内存容量的1.5倍左右,若您的服务器内存大于4GB,可设1-2GB的固定值
- swap文件默认保存在/www/swap,设置前请确保磁盘空间够用
- 若您不需要swap,请将容量设为0
- OVZ虚拟架构机器不可用此功能
综上,如果宝塔面板MySQL数据库经常自动重启,很有可能是因为内存不足导致的,可以使用Linux工具箱来设置Swap虚拟内存。
如果上述仍然不能解决问题,可以设置宝塔数据库自动重启shell脚本,代码如下:
pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ];then
bash /www/server/panel/script/rememory.sh
/etc/init.d/mysqld start
fi
上述shell脚本会自动检测宝塔数据库是否停止,如果检测到数据库停止则自动重启。复制上述代码粘贴到宝塔计划任务Shell脚本中,如下图所示:
宝塔数据库自动重启Shell脚本
可以自行手动停止MySQL数据库测试下Shell脚本是否自动运行。