如何修复 WordPress 中的“建立数据库连接时出错”
已发表: 2022-02-07您是否只是尝试访问您的 WordPress 网站,却遇到一条可怕的消息:错误建立数据库连接而不是您的 WordPress 网站?
错误建立数据库连接WordPress 错误是一个比较常见的错误,在更改主机或迁移 WordPress 站点后经常弹出,尽管您也可能在其他情况下看到它。
这可能很可怕,因为您的网站似乎完全消失了,您的所有数据都消失了。
首先——别担心。 尽管现在情况看起来很糟糕,但您网站的所有数据在数据库中都应该是安全可靠的。 我们稍后再讨论这个问题,但这里的问题是您的 WordPress 网站无法访问您的数据,而不是数据不存在。
其次,您可以采取一些故障排除步骤来快速解决问题并让您的网站重新运行。 因此,您应该能够以最小的努力解决问题。
在这篇文章中,我们将做两件事:
首先,我们将解释更多关于建立数据库连接错误 WordPress 错误的含义以及您可能会看到它的原因。
其次,我们将向您展示如何永久修复建立数据库连接消息的 WordPress 错误。 您需要采取的确切故障排除步骤通常取决于您遇到消息的时间,因此我们将针对两种情况分享不同的故障排除步骤:
- 在新创建的站点上或迁移站点后立即看到此错误。
- 在您没有更改任何内容的现有站点上看到此错误。
到最后,您应该再次拥有一个完全正常工作的 WordPress 网站!
“建立数据库连接时出错”是什么意思?
建立数据库连接的错误消息在您的 WordPress 网站上应如下所示:

为了帮助您理解此错误消息的含义,我们首先需要将 WordPress 分解为两个基本组件。
您的 WordPress 网站大致有两个部分:
- 您的文件——这些是您网站的 PHP 和 HTML 文件、CSS 样式表、JavaScript 脚本等。
- 您的数据——这是您的博客文章内容、您的网站设置、您的用户、您的评论等等。
您站点的所有文件都位于您的服务器上,但您站点的所有数据都存在于数据库中(因此得名)。
如果您网站的文件无法与数据库“对话”,那么您的网站就无法访问所有内容、设置等,而这些内容、设置等都是它将您的网站呈现给访问者所需的。
因为不访问数据库就无法显示您的网站,所以您的 WordPress 站点将显示错误建立数据库连接消息。
什么会导致您的站点在连接到数据库时出现问题? 好吧,我们将在下一节的故障排除步骤中详细研究这一点,但一些最常见的问题如下:
- 数据库凭据不正确——就像您需要用户名/密码才能登录 WordPress 仪表板一样,您的站点也需要用户名/密码才能连接到数据库。 如果这些凭据错误(或者数据库名称错误),则会触发错误。 当您将站点迁移到新主机时,此问题可能会发生很多。
- 无响应的数据库服务器——您的数据库所在的服务器可能会停机,这是您的主机问题而不是 WordPress 网站的问题。
- 损坏的数据库——不良插件、附加组件、主题和数据传输中断可能会使您的数据库缺少表或在最坏的情况下完全损坏。 值得庆幸的是,WordPress 包含自己的数据库修复工具。
- 损坏的 WordPress 文件- 核心 WordPress 文件的问题也可能在边缘情况下导致此错误。 解决方法是重新上传核心 WordPress 软件的干净副本。
在下一节中,我们将概述已知可行的最常见解决方案。
如何修复在 WordPress 中建立数据库连接的错误
当您在 WordPress 中看到建立数据库连接错误消息时,有两种高级情况:
- 在将站点迁移到新主机/服务器或尝试创建全新的 WordPress 安装后。
- 在您最近未进行任何更改的现有网站上。
这些情况通常有不同的修复方法,因此我们将它们分成不同的部分。 您可以单击上面的链接直接跳转到您的场景的特定部分。
话虽如此,这可能是一个棘手的错误。 因此,如果一个部分中的提示不起作用,我们建议您也尝试另一部分中的提示。 基本上,我们只是试图将您引导至最有可能解决您的特定情况的故障排除步骤,以免您浪费时间。
1. 迁移站点或创建新站点后的错误消息
如果您在将 WordPress 站点迁移到新主机或创建全新的 WordPress 站点后看到错误建立数据库连接消息,则问题几乎总是不正确的数据库凭据。
为了让您的 WordPress 站点连接到数据库,它需要知道有关数据库的以下信息:
- 数据库名称
- 数据库用户用户名
- 数据库用户密码
- 数据库位置
迁移站点时,有时新主机上的数据库凭据可能与旧主机上的不同,这将触发错误。
这是您可以解决的方法。
检查您的数据库登录凭据
首先,您需要了解您的 WordPress 站点配置为使用哪些 WordPress 凭据。
为此,您需要访问站点的wp-config.php
文件,您可以通过 FTP 连接到服务器或使用 cPanel 文件管理器或主机的文件管理器工具等工具来完成此操作。
wp-config.php
文件应位于站点的根文件夹中。 打开文件并查找以下代码行:
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'database_name'); /** MySQL database username */ define('DB_USER', 'database_user'); /** MySQL database password */ define('DB_PASSWORD', 'database_password'); /** MySQL hostname */ define('DB_HOST', 'localhost');
第二对括号中的详细信息,我们有'database_name','database_user'等,不会出现在上面的代码中。 这些详细信息特定于您的网站和主机。
这四行简单的意思是:
-
'database_name'
- 你的数据库名称在这里,例如'wordpress_vista' -
'database_user'
- 您的数据库用户名放在这里,例如 'wordpress_new' -
'database_password'
- 这是您为数据库用户输入密码的位置,例如 '[email protected]#[email protected]#' -
'localhost'
- 这是您输入数据库主机的地方。 大多数网络主机的默认值为“localhost”。
如果这四个凭据中的任何一个不正确,您将收到错误建立数据库连接消息。
此时,您需要做的是将这些凭据与存储在数据库中的凭据进行核对。
检查数据库名称
首先,让我们检查一下wp-config.php
中的数据库名称是否正确。 完成以下步骤:
要开始,请打开 phpMyAdmin。 在 HostGator、GoDaddy 和 Bluehost 等大多数托管帐户中,phpMyAdmin 通常位于 cPanel 中的“数据库”或“数据库工具”选项卡或类似内容下:

您的主机应该自动将您登录到 phpMyAdmin。 或者,在极少数情况下,系统可能会提示您输入登录屏幕。
登录 phpMyAdmin 后,单击“数据库”选项卡以查询数据库列表。 从数据库列表中,您能看到wp-config.php
文件中DB_NAME
之后出现的数据库吗?

如果你能看到它,你就是金子——问题不在于数据库名称。 如果您在 phpMyAdmin 中看不到数据库,则需要联系您的 WordPress 托管服务提供商,因为问题可能出在他们的服务器上。
如果数据库不存在,您将需要从备份中恢复一个(如果您有备份)或创建一个新的。 了解为什么备份 WordPress 网站非常重要?
假设您已经找到了您的数据库并且您在 wp-config.php 中有正确的名称。 现在,让我们检查您的数据库用户名、密码和主机是否正确。
检查您的数据库用户名和密码
检查您的用户名和密码需要一些工作。 您需要创建一个.php
文件并将其存储在您的 WordPress 根文件夹中。 这是您找到wp-config.php
文件的同一个文件夹。 创建一个新的.php
文件,并将其命名为check.php
或您想要的任何名称。
您可以使用 FTP 或通过 cPanel 文件管理器之类的工具创建文件:

创建文件后,它应该会立即出现在您的根文件夹中。 右键单击它并选择Code Edit ,或选择它并单击菜单上的Code Editor 。 这应该会引导您进入一个空白页面。 添加以下代码:
<?php $link = mysql_connect('localhost', 'root', 'password'); if (!$link) die('Could not connect: ' . mysql_error()); echo 'Connected successfully'; mysql_close($link); ?>
确保将'localhost'
- 'root'
- 和'password'
分别替换为wp-config.php
中的数据库主机(这几乎总是默认值 localhost )、用户名和密码。 保存更改并在 Web 浏览器中访问以下 URL - yoursite.com/check.php
。
确保将yoursite.com
替换为您的实际域名。
如果您看到消息“连接成功”,则您的登录详细信息是正确的。
如果您看到“Could not connect: Access denied for user 'yourusername'@'localhost' (using password: yourpassword)”或其他错误,您的数据库主机、用户名或密码是这里的罪魁祸首。

如果您的登录详细信息不起作用,您需要创建新的,然后使用新的详细信息更新您的wp-config.php
。
通常,这里最简单的选择是:
- 创建一个新的数据库用户。
- 将该用户分配给您的 WordPress 站点的数据库。
- 更新您的
wp-config.php
文件以使用该新数据库用户。
旁白:您的问题可能是最后一个凭据 DB_HOST 的结果。 默认情况下,大多数网络主机使用“localhost”,但您可以尝试根据您的网络主机将其更改为 IP 地址或 URL。 您可以在 WordPress Codex 上获取主机列表及其 DB_HOST 值。 如果您的主机不在列表中,请与他们联系以获取此信息。
继续,让我们创建一个新用户。
创建新的数据库用户和密码
返回您的 cPanel 并访问 MySQL 数据库。 它也位于database tools下,与您找到 phpMyAdmin 的选项卡相同:

单击 MySQL 数据库应打开如下内容:

加载MySQL Databases屏幕后,向下导航到您拥有MySQL Users的位置。 在此之下,您会注意到添加新用户:

输入新的用户名和密码,然后单击Create User 。 请记下您的wp-config.php
文件的这些详细信息。
注意:您的设置可能不同,但过程大致相同。
创建新用户后,您需要将该用户分配给您的 WordPress 数据库。 这是wp-config.php
文件中DB_NAME
之后显示的数据库。
要将用户分配给您的数据库,请再次转到MySQL 数据库屏幕,然后向下滚动到您将看到将用户添加到数据库的位置:

选择您刚刚创建的用户和您的数据库,然后单击Add 。 在下一个屏幕上,确保授予数据库用户所有权限并保存这些更改:

现在,返回wp-config.php
并使用新的用户名和密码信息更新文件。
确保引号之间没有空格。 例如, ' your-username '
不好,但'your-username'
很好。 此外,使用单引号而不是双引号。 保存您对wp-config.php
所做的所有更改。
现在,尝试访问您的网站。 如果一切顺利,它应该可以再次工作。
您仍然收到错误吗? 如果是,您也可以尝试其他修复。
2.您尚未迁移的现有站点上的错误消息
如果您在最近未进行任何重大更改(例如迁移到新主机)的现有站点上看到错误建立数据库连接消息,则解决问题可能会有些棘手。 但是,您仍然可以采取一些步骤。
确保您的主机没有遇到任何问题
在深入挖掘网站故障排除之前,您首先要确保问题不是由您的虚拟主机引起的。
一些 web 主机配置他们的环境,使您的站点的数据库服务器与文件服务器分开。 在这些配置中,数据库服务器可能已关闭但文件服务器仍在运行。 发生这种情况时,您将看到建立数据库连接错误消息。
一个好的主机应该对此进行监控并快速解决问题。 但是,值得发送一条快速消息来支持或检查您主机的正常运行时间状态,以排除他们的任何问题。
检查损坏的数据库(并根据需要进行修复)
另一个可能突然影响 WordPress 网站的问题是数据库损坏。 值得庆幸的是,很容易测试是否是这种情况。
要进行测试,请尝试打开您网站的后端管理仪表板。
如果您的后端仪表板加载正常,但您网站的前端显示错误建立数据库连接消息,您可能有一个损坏的数据库。
或者,您可能还会在后端看到一条不同的消息,例如“一个或多个数据库表不可用”,这是数据库损坏的另一个迹象。
另一方面,如果您在后端和前端都看到完全相同的建立数据库连接消息的错误,则这不是问题,继续执行此步骤毫无意义。 相反,只需跳到下一步。
那么——如何修复损坏的 WordPress 数据库?
值得庆幸的是,WordPress 包含自己的工具来执行此操作——您需要做的就是启用它。 这是启用 WordPress 数据库修复工具的快速版本 - 我们将在下面向您展示更详细的说明:
- 通过 FTP 连接或使用 cPanel 文件管理器(或主机的自定义文件管理器工具,如果适用)访问服务器的文件。
- 编辑
wp-config.php
文件。 - 添加以下代码片段 –
define ( 'WP_ALLOW_REPAIR' , true);
- 在浏览器中访问
yoursite.com/wp-admin/maint/repair.php
,确保将yoursite.com
替换为您的实际域名。 - 通过单击修复数据库运行数据库修复工具。
- 数据库修复工具完成后,删除您添加到
wp-config.php
文件中的代码片段。
这是将代码片段添加到wp-config.php
文件的样子——将其添加到“/* 就是这样,停止编辑! 快乐出版。 */”
define ( 'WP_ALLOW_REPAIR' , true);

完成后,您可以访问yoursite.com/wp-admin/maint/repair.php
启动数据库修复工具。 单击修复数据库按钮以启动该过程,WordPress 将处理其余的:

数据库修复过程完成后,您的站点应该有望重新开始工作。
如果是这样,请确保返回到您的wp-config.php
文件并删除您之前添加的代码片段。 添加此代码片段后,任何人都可以访问数据库修复工具,即使他们没有登录 WordPress。
您不希望这样,这就是默认禁用它的原因,以及为什么您需要确保在完成后再次禁用它。
重新上传干净的 WordPress 副本以修复损坏的文件
除了损坏的数据库之外,错误建立数据库连接消息的另一个常见原因可能是核心 WordPress 文件损坏。
诊断特定问题很棘手,但您会发现很多情况下,某个文件中的一些奇怪的调整会导致问题。
值得庆幸的是,您不必查找特定错误。 相反,您可以重新上传核心 WordPress 软件的干净副本,以确保您的所有核心文件都完全符合其应有的状态。
不用担心 - 重新上传核心 WordPress 软件不会覆盖您的任何数据。 它基本上只是重新安装 WordPress 软件,这与您的网站每次更新 WordPress 时所经历的过程相同。
但是,由于您可能无法访问 WordPress 仪表板,因此您需要通过 FTP 进行此操作。
首先,请执行以下操作:
- 转到 WordPress.org 上的 WordPress 下载页面
- 下载最新版本的 WordPress——它应该是一个大约 15 MB 的 zip 文件
- 下载完成后,在您的计算机上解压缩 zip 文件
现在,您应该拥有一个包含所有核心 WordPress 软件的文件夹。
打开此文件夹并删除以下文件/文件夹:
-
wp-content
文件夹 wp-config-sample.php
文件wp-config.php
文件——这个文件实际上不应该存在,但如果你因为某种原因看到它,请确保删除它。
通过删除这些文件/文件夹准备好 WordPress 的干净副本后,您就可以将其上传到您的站点了:
- 使用 FTP 连接到 WordPress 站点的服务器
- 将所有剩余的 WordPress 文件/文件夹上传到您的根文件夹。 您希望所有内容都匹配,以便将新文件上传到与现有文件相同的位置。
- 当您的 FTP 程序询问您如何处理重复文件时,告诉它用新版本覆盖所有文件。 如果您没有看到有关重复文件的警告,请确保您将新文件上传到正确的位置。 您想覆盖服务器上所有现有的核心 WordPress 文件。
上传完成后,您应该拥有所有核心 WordPress 文件的干净副本,这有望修复错误建立数据库连接消息。
没有工作? 尝试恢复最近的备份
如果到目前为止没有任何效果,您最好的选择可能是尝试从您最近的备份中恢复您的网站。 如果您或您的主机对您的站点进行定期备份,您应该能够将您的站点恢复到工作状态,而几乎不会丢失数据。
今天修复这个 WordPress 错误
建立数据库连接错误的 WordPress 错误可能令人沮丧。 但是,几乎在所有情况下,您的站点数据仍然存在,您只需要找到一种方法来修复连接,以便 WordPress 可以再次访问数据库。
在这篇文章中,我们分享了一些故障排除技巧来帮助您解决问题。
如果您最近迁移了站点或创建了全新的 WordPress 安装,则可能是您站点的数据库凭据存在问题。 如果没有,请尝试其他解决方案来解决问题。
我们希望本文能帮助您了解如何修复 WordPress 中的“错误建立数据库连接”错误。 有关排除 WordPress 的其他一些技巧,您可能还想查看我们关于 WordPress 初学者如何避免这 7 个常见错误的文章。
轮到你了…
您以前是否遇到过并解决过此错误? 是什么原因造成的,您是如何解决的? 请与我们分享您的提示和解决方案,让这篇文章更加丰富。 提前致谢!