WordPress数据库连接错误怎么修复?6个排查步骤从根源解决

在我们做外贸独立站的过程中你是否遇到过?打开自己的网站,看到一行白底黑字:

这大概是WordPress最让人无语的报错之一。整个网站全白了,前台后台都进不去,你甚至不知道从哪里开始查。

导致这个错误的常见原因就那几种:数据库停止运行、wp-config.php里的数据库配置信息填错了、数据库服务器挂了、数据库表损坏了、或者WordPress核心文件出了问题。听起来很多,但大多数情况下,问题出在第一条——数据库可能停止运行了,重启数据库就好。

按下面这个顺序排查,从最简单的开始,通常不用走到第五六步就能解决。

操作之前,先做备份

备份现有文件。

哪怕网站现在进不去,只要服务器还在跑,通过 FinalShell 或 宝塔文件管理器 把整个网站目录和数据库先备份一份。修复过程中一个小错误可能把情况弄得更糟,备份是你的保险,操作之前务必先做,最好养成习惯。

相关教程:FinalShell使用教程

第一步:先判断是前端问题还是前后端都挂了

打开浏览器,分别访问这两个地址:

  • 网站首页:https://你的域名.com
  • 后台登录页:https://你的域名.com/wp-admin

如果首页显示”Error establishing a database connection”,但访问/wp-admin显示的是”一个或多个数据库表不可用,数据库可能需要修复”——这说明数据库能连上,但部分表损坏了,直接跳到第四步做数据库修复。

如果两个地址都显示数据库连接错误,说明WordPress根本连不上数据库,从第二步开始排查。

wordpress error establishing database connection screenshot

第二步:检查wp-config.php里的数据库配置

这是最高频的原因,先查这里。

用FinalShell或宝塔文件管理器找到网站根目录下的 wp-config.php 文件,打开编辑,找到这四行:

php

wp config php database settings location

这四个值必须和你实际建站时创建的数据库完全一致,包括大小写。

怎么确认正确的数据库信息?

进入宝塔面板 → 数据库,找到你的WordPress数据库,点”管理”或查看备注,就能看到数据库名、用户名和密码。如果用的是共享主机,在cPanel → MySQL数据库那里查。

改完之后保存文件,刷新网站看是否恢复。

这一步解决了问题的话,原因通常是:迁移服务器之后忘记更新配置、宝塔重建数据库后密码变了、或者当初手打配置信息时有typo。

DB_HOST 那行一般填 localhost 就行,但有些主机环境要填具体的数据库服务器地址,如果不确定,去主机控制台查或者联系客服确认。

第三步:确认MySQL数据库服务是否在跑

配置没问题但还是报错?那可能是MySQL服务本身挂了。

宝塔面板用户:

登录宝塔 → 首页 → 软件商店 → 已安装,找MySQL,看状态是否为”运行中”。如果显示已停止,在设置里点”启动”,再刷新网站。

bt panel mysql service status restart

SSH命令行用户:

bash

如果MySQL启动时提示ERROR报错,需要根据报错信息修改数据库服务配置,然后重新执行启动命令。报错信息通常会指向具体问题,比如端口冲突、磁盘空间不足等。

MySQL挂掉的常见原因是什么?服务器内存不够用了——WordPress+MySQL+Nginx同时跑,内存吃紧的时候MySQL会被系统强制kill。如果重启MySQL之后过几小时又挂,大概率就是这个原因,解决办法是加内存或者开启Swap。

关于VPS内存不足的处理方法,可以参考:VPS Swap虚拟内存设置教程

第四步:尝试WordPress内置数据库修复

前两步都没问题,数据库服务也在跑,但还是报错?试试WordPress自带的修复功能。

操作方法:

打开 wp-config.php,在 /* That's all, stop editing! */ 这行之前加一行:

php

保存之后,浏览器访问:

页面会显示两个按钮——”修复数据库”和”修复并优化数据库”,点”修复数据库”,等待完成。

如果是数据库表损坏导致的连接问题,这个修复工具通常能解决。也可以通过phpMyAdmin进入数据库,选择所有表,执行”修复表”操作。

修复完之后记得把刚才加的那行代码删掉,不然这个修复页面对任何人都是开放的,有安全隐患。

wordpress database repair tool page

第五步:检查数据库用户权限

有时候问题不是配置错了,而是数据库用户对那个数据库没有足够的操作权限。这种情况相对少见,但迁移服务器之后有时会遇到。

进入宝塔面板 → 数据库,找到你的数据库,点”权限”,确认对应的数据库,宝塔面板默认是用户本地数据库。可点击顶部root密码修改密码来重新获取权限。

第六步:替换WordPress核心文件

排查到这一步,说明前面五步都没解决问题,可能是WordPress核心文件本身出了问题——被黑了、升级过程中文件损坏了、或者误删了什么。

从WordPress.org下载一个和你当前版本相同的WordPress安装包,解压之后删掉wp-content文件夹和wp-config-sample.php文件,确保不会覆盖你的主题、插件和现有配置,然后把剩余文件通过FTP或宝塔文件管理器上传到网站根目录,覆盖替换原有文件。

点击获取 WordPress 最新版本

上传完成后清除浏览器缓存,重新访问网站。

六步走完还是修复不好?

如果上面六步都试过了还没解决,通常意味着以下情况之一:

数据库文件彻底损坏。这时候最稳妥的是恢复最近一次的备份数据,包括数据库和网站文件都要一并恢复,而不只是其中一个。宝塔用户进面板 → 数据库 → 找到你的数据库 → 有备份 → 选备份版本恢复。没有备份的话,联系主机商看他们是否有服务器级别的快照可以恢复。

可参考:宝塔面板备份恢复教程

服务器磁盘空间满了。磁盘跑满会导致MySQL无法写入日志而崩溃。SSH进服务器执行 df -h 查一下磁盘使用率,超过90%就得清理了。

主机环境故障。如果以上都没问题,试试联系主机商客服,让他们从服务端排查MySQL服务状态,有时候问题出在主机基础设施层面,自己能做的很有限。

避免再次发生

修好建议把这两个预防措施补上:

定期备份。宝塔用户可以在计划任务里设置定时备份数据库和网站文件,支持按周期自动执行,万一再出问题直接恢复备份,损失降到最低。建议每天备份数据库,每周备份完整网站文件,存档到远端存储或本地。

监控MySQL内存使用。如果你的VPS内存在2GB以下,MySQL在高负载时容易被系统OOM kill,考虑开启Swap或升级套餐。

关于WordPress常见故障的整体排查思路,可以参考:WordPress高CPU使用率修复教程

宝塔面板的网站备份恢复操作,可以参考:宝塔面板网站备份与恢复教程

VPS服务器常见故障排查汇总:VPS常见问题与解决方法

WordPress暴力破解防护避免数据库被攻击:WordPress登录限制与暴力破解防护教程

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注