WordPress网站如果出现“Error establishing a database connection”数据库连接错误的问题时,在访问网站后台时会出现这样才错误界面提示信息:
Error establishing a database connection
This either means that the username and password information in your wp-config.php
file is incorrect or we can’t contact the database server at localhost
. This could mean your host’s database server is down.
- Are you sure you have the correct username and password?
- Are you sure you have typed the correct hostname?
- Are you sure the database server is running?
If you’re unsure what these terms mean you should probably contact your host. If you still need help you can always visit the WordPress Support Forums.
访问网站前台页面时,只出现如下一句提示:
Error establishing a database connection
“Error establishing a database connection”建立数据库连接错误是什么意思?
我们搭建的 WordPress 网站上的所有信息,例如文章数据、页面数据、元信息、插件设置、登录信息等,都存储在我们的主机(服务器)上的 MySQL 数据库中的。唯一没有存储在那里的数据是媒体内容(比如:图像、视频以及WordPress核心程序文件、主题、插件等)。当访问我们的网站时,PHP 会执行页面上的代码并从数据库中查询信息,然后在浏览器中将其显示给访问者。
如果,由于某种原因导致网站无法正常访问,则会出现“Error establishing a database connection”建立数据库连接错误的页面提示。整个页面是空白的,因为无法检索到任何数据库中的数据来呈现页面,因为连接工作不正常。这不仅会破坏您网站前端访问,还会导致网站后台无法访问。
从上面的提示信息可以得知,导致该问题的原因主要有以下几种:
- Are you sure you have the correct username and password? 是否配置了正确的数据库名称、用户名、密码?
- Are you sure you have typed the correct hostname? 是否配置了正确的数据库主机(默认为 localhost)?
- Are you sure the database server is running? 数据库服务器是否运行正常?
根据这些提示信息,我们去依次排查就可以了。
数据库连接信息错误(包括数据库名称、数据库用户名、密码)
首先,检查我们安装的 WordPress 网站程序中设置的数据库连接信息是否正确,这是导致出现 数据库连接错误的最常见原因,特别是在迁移网站之后。
在 WordPress 网站根目录下,找到 wp-config.php 文件,数据库连接信息就存储在这个文件中。具体如下所示:
在这里有我们网站对应的数据库配置信息,包括数据库名称、数据库用户名、数据库密码 和 数据库主机等信息,其中的数据库名称、数据库用户名、数据库密码 这三项,需要我们验证是否和网站所在服务器主机中创建的数据库信息一致。如果不一致,需要更新为正确的数据库信息。
另外,数据库主机一项绝大多数情况下都是使用默认的 localhost,如果您的空间商提供了专门的数据库主机地址,请根据说明填写。
MySQL数据库处于关闭状态
由于服务器的某些不确定因素,可能会导致MySQL数据库运行停止,比如:一次有太多的并发连接到数据库,这是因为服务器上限制了一次允许的连接数;还有可能因为服务器内存不够、PHP查询语句错误等等。如果是这个原因,需要你联系空间服务商来排查并重新启动数据库;或者如果你使用的是独立服务器,自己拥有数据库运行操作权限的话,也可以自己重启MySQL数据库进行网站访问恢复。以国内常用的宝塔系统为例,如下图所示:
当然,导致MySQL状态停止的原因可能还有很多,如果你的服务器 MySQL 经常无故停止运行,建议联系空间商或者专业的服务器运维人员去处理。
数据库表损坏
在某些情况下,可能是您的数据库已损坏,这偶尔会发生(尽管不是很频繁),因为随着时间的推移,新插件和主题会不断添加/删除数百个表。如果您在登录 WordPress 网站后台时,收到以下错误信息,则表示您的数据库已损坏:“One or more database tables are unavailable. The database may need to be repaired.”(一个或多个数据库表不可用。数据库可能需要修复) 请务必注意,您可能只会在登录网站后台时看到此错误,而您会在网站前端看到的还是建立数据库连接消息的错误。
如果是这种情况,建议恢复网站备份到最近的备份数据。或者尝试进行数据库修复。
程序文件损坏
如果通过以上原因都已经排除,那么,也有可能是我们的网站程序文件损坏导致了数据库连接错误。这时,我们就需要去排查WordPress核心程序文件、主题文件、插件文件来进行判断具体导致错误的程序文件。
首先,可以通过切换不同的主题模板来判断是否是主题文件导致的;
然后,通过依次禁用网站中的插件来判断是否为某个插件文件导致的;
最后,排查 WordPress 本身的程序文件。
最终找到原因后进行相应的修复即可。
总结
如您所见,导致WordPress出现“Error establishing a database connection”数据库连接错误的原因有很多,最常见的是 wp-config.php 文件中的无效数据库配置信息。通过逐步检查,来更好地排查到具体原因并修复。希望上述教程可以帮助您快速恢复并运行您的网站。