当你想要访问你在宝塔搭建的WordPress网站时出现这个提醒: “Error establishing a database connection” ,为什么无法访问其实它说的很清楚了,建立数据库连接时出错
为什么宝塔自动暂停MySQL数据库?
我们的网站可能流量比较大,需要频繁的访问网站数据库,导致超负荷,而服务器的内存又不足,服务器为了不嗝屁会自己选择停止MySQL数据库的运行,所以这其实是一种自我保护的操作。
内存不够的原因不多,无非就是当初购买的套装内存不够,像低配置1M、1G内存、1核心的配置,或者是你在宝塔上安装网站过多导致的。
数据库居然被关闭了,那么最直接的方式就是再启动呗。这个方法只能暂时解决问题,不久后内存满了会又自动关闭数据库的。
解决宝塔自动停止数据库的方法
1. 砸钱
最粗暴的解决方法,花钱把购买的服务套餐升上去内存不就大了嘛。
2. 添加自动启用数据库脚本
我们可以在宝塔后台的计划任务里建一个脚本,让它自动检测到MySQL数据库关闭后自己自动开启。
pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ];then
bash /www/server/panel/script/rememory.sh
/etc/init.d/mysqld start
echo "监控到MySQL已停止,已执行重启计划,时间: `date "+%Y-%m-%d %H:%M:%S"` " >> /www/mysql_jiankong.log
fi
这个脚本会每隔10分钟(这个时间你可以自行调整)检测一次我们的宝塔数据库是否关闭,是的话就重新启用它。每次的重启记录都会保存在 /www/mysql_jiankong.log 这个目录里。
3. SWAP/虚拟内存
在宝塔后台的软件商店搜索Linux工具箱,安装后点设置。
- swap是Linux下的虚拟内存,设置适当的swap可增加服务器稳定性
- 建议swap容量在真实内存容量的1.5倍左右,若您的服务器内存大于4GB,可设1-2GB的固定值
- swap文件默认保存在/www/swap,设置前请确保磁盘空间够用
- 若您不需要swap,请将容量设为0
- OVZ虚拟架构机器不可用此功能