前几天瓦力箱子的网站突然出现打不开的情况,在浏览器输入网址后提示“Error Establishing a Database Connection”字样。

翻译过来就是:数据库建立连接出现错误,如下图:

WordPress数据库建立连接失败

这已经是第二次碰到这个问题了,首次出现是在上周,我是通过重启数据库解决的。看来问题没有得到彻底解决,这次得详细研究下原因。

查询MySQL错误日志

瓦力箱子这个WordPress网站目前采用VPS服务器和宝塔面板安装,所有服务器软件包括MySQL都在/www/server目录下。

我们可以使用如下命令查询MySQL错误日志:

cat /www/server/data/*.err

输入命令回车后,系统会输出会很大篇幅的错误日志,最新的日志在最下方,而且每条日志最前面都有时间戳,方便查询定位。

我很快就找到了那条错误日志:

12-29 16:16:54 10003 [Note] InnoDB: Database was not shutdown normally!

Database was not shutdown normally! 意思是数据库非正常关闭。可以推断出,MySQL数据库是被系统中止的。

系统为什么要关闭MySQL数据库呢?得查看系统日志。

查询系统日志

Linux系统的日志文件主要存放在/var/log目录下,由于系统日志文件非常庞大,直接打开会输出很久,我只需要查询12月29日当天的日记就可以了。

输入命令:

cat /var/log/messages | grep "Dec 29"

在输入结果中,瓦力箱子找到了这一条日志”Out of memory: Kill process 7610 (mysqld)“,意思就是内存不够了,结束MySQL进程。

kernel: Out of memory: Kill process 7610 (mysqld) score 52 or sacrifice child

这是我才想到,这两次数据库都是在我进行网站测速后出现的。测速时网站短时间内涌入大量访问请求,MySQL运行占用了全部内存,进而被系统终止。

解决办法

WordPress网站出现Error Establishing a Database Connection问题,目前解决办法有两个。

  • 临时解决办法:重启MySQL数据库
  • 永久解决办法:加大服务器内存或新增SWAP分区

重启MySQL命令:

service mysqld restart

好了,以上就是WordPress网站出现Error Establishing Database Connection问题的解决办法分享。瓦力箱子这个网站平时访客也不多,我就暂时通过重启数据库解决了。如果以后用户访问量增加了的话,再升级服务器配置吧。

类似文章