如何修复建立数据库连接的错误
已发表: 2022-06-21“建立数据库连接错误”是一个常见的 WordPress 错误,尤其是对于初学者来说可能会引起恐慌。 这是因为一旦您在网站中遇到错误,您将无法查看任何其他网站内容。 文本只有一个空白屏幕。
此错误可能会让您的网站用户感到沮丧,因为他们无法查看网站上的任何内容。 幸运的是,这个错误可以被修复。 尽快修复此错误非常重要。
在本文中,我们将研究“建立数据库连接的错误”是什么,其常见原因以及如何修复该错误。
目录
什么是“建立数据库连接时出错”
错误的常见原因
如何修复 WordPress 中的“建立数据库连接时出错”
- 验证您的数据库登录凭据
- 修复您的 WordPress 数据库
- 主题和插件检查
- 修复损坏的 WordPress 文件
- 咨询您的托管服务提供商
结论
什么是“建立数据库连接时出错”
此错误基本上意味着您的站点无法连接到您的数据库。
为了全面了解错误,让我们从介绍 WordPress 内容管理系统的工作原理开始。
WordPress 依靠两项技术才能正常工作。 其中包括作为服务器端编程语言的 PHP 和作为数据库服务器的 MySQL。
WordPress 中的所有功能都在用 PHP 编码的静态文件中定义。 另一方面,MySQL 数据库服务器管理 WordPress 数据库。 WordPress 数据库存储您网站内的所有数据,例如帖子、页面和媒体项目。
当用户在他们的浏览器中输入 URL 时,PHP 会从您的数据库中获取内容,然后该内容会显示在您的浏览器中。 如果用户看到“建立数据库连接时出错”,那么这意味着 PHP 无法连接到您的数据库来获取请求的内容。
下面是错误的示例显示:

在上面的屏幕截图中,PHP-MySQL 连接不存在,因此会生成错误。
错误的常见原因
遇到“建立数据库连接时出错”的原因有很多。 其中一些包括:
不正确的数据库凭据
这实际上是此错误的常见报告原因之一。
与您需要用户名和密码才能登录的 WordPress 仪表板类似,您的网站也需要凭据才能连接到您的数据库。 如果这些凭据被任何机会更改,那么您的网站将呈现“建立数据库连接错误”。
服务器过载
如果您的服务器可能在给定时间处理的请求数量过多,那么这也可能导致“建立数据库连接时出错”。
这在共享主机上运行的网站中尤其常见。
损坏的数据库
对数据库进行不必要的手动更改可能会导致数据库损坏。 例如,如果您碰巧删除了数据库中可能需要发生数据库连接的行或表,那么您可能会遇到“建立数据库连接时出错”。
编码不当的主题和插件也可能导致数据库损坏。 例如,如果您有一个很少更新的插件,黑客可以利用该插件并使用该插件执行更改您的数据库内容的 SQL 查询,从而导致数据库损坏。
损坏的 WordPress 文件
该错误的另一个原因是在您的安装中存在损坏的 WordPress 文件。 您可能有 WordPress 文件可能已被修改以侵犯数据库连接。 这是黑客用来为您的网站创建后门的做法,从而触发“建立数据库连接时出错”。
失败的 WordPress 更新也是 WordPress 文件损坏的一个可能原因。
如何修复 WordPress 中的“建立数据库连接时出错”
尽管“建立数据库连接时出错”引起了恐慌,但这个错误实际上是可以修复的。 但是,我们建议在进行任何更改之前对您的站点进行完整备份。 这是有关如何备份 WordPress 网站的指南。
完成完整备份后,您现在可以继续尝试下面共享的修复程序。
验证您的数据库登录凭据
为了让您的网站连接到您的数据库,需要数据库凭据。 这些凭据存储在 WordPress 文件根目录中的 Wp-config.php 文件中。 您可以借助 Filezilla 等 FTP 软件通过 FTP 访问该文件。 或者,您可以通过托管面板(例如 cPanel)访问该文件。 以下是该文件的屏幕截图说明:

找到文件后,选择对其进行编辑,您将在其中找到以下详细信息,这些信息是您的站点访问数据库所需的:
- 数据库名称(“DB_NAME”)
- MySQL 数据库用户名(“DB_USER”)
- MySQL 数据库密码(“DB_PASSWORD”)
- MySQL 主机名(“DB_HOST”)
以下是这些详细信息的屏幕截图:

您现在需要重新检查这些详细信息是否与您的数据库管理器中的匹配。
首先,我们将首先确认数据库名称和主机名。 为此,您将需要从您的主机面板访问 phpMyAdmin。
如果您使用的是 cPanel,您可以从 Databases 部分访问 phpMyAdmin,如下图所示:

访问 phpMyadmin 后,单击“数据库”选项卡并检查您是否有与 wp-config.php 文件中的名称相似的数据库。 这是 wp-config.php 文件中“DB_Name”之后的名称。

您可以忽略 information_schema 数据库,因为这是您的主机数据库。
仍然在同一部分,检查您的数据库服务器。 这可以在单击您的数据库并检查服务器名称时进行检查。 下面是一个示例说明:

您需要将其与 DB_Host 下的 wp-confg.php 文件中的值进行比较。
下一步是检查用户凭据。
如果您的站点在 cPanel 下,您可以从“MySQL 数据库”部分检查此信息。

单击它并检查“当前用户”部分。 在这里,您应该可以看到用户名和更改密码的链接,如下面的屏幕截图所示:


如果用户名与 wp-config.php 文件中的内容不匹配,请将 wp-config 文件中的值更改为当前用户部分中的值。
至于密码,您可以从“更改密码”链接更改它。 在这样做之前,您可以快速测试 wp-config.php 中的凭据是否有效。
为此,请在 WordPress 文件的根目录中创建一个名为 dbtest.php 的文件,如下所示:

选择编辑文件并添加以下代码:
<?php $link = mysqli_connect("localhost", "root", "password"); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_close($link); ?>
在代码中,如果不是 localhost,请将 localhost 替换为您的“DB_Host”名称。 也请分别用您的“DB_USER”和“DB_PASSWORD”替换 root 和密码。
接下来,通过输入地址 yourdomain.com/dbtest.php 从浏览器访问您的站点文件。 确保将 yourdomain.com 替换为实际的域 URL。
如果连接成功,您将看到“连接成功”消息。 下面是一个示例屏幕截图。

在上述情况下,您不需要更改您的凭据,因为很明显您的登录凭据不是问题的原因。
相反,如果凭据不正确,您将看到这样的消息“无法连接:用户访问被拒绝...”。 在这种情况下,如果用户名正确,您需要通过单击“更改密码”链接来更改密码。 或者,您可以创建一个新用户并使用 wp-config.php 文件中的新凭据。
修复您的 WordPress 数据库
“建立数据库连接时出错”也可能是由损坏的数据库引起的。 如果错误不是由于凭据引起的,或者如果在上一步中连接成功,那么您可以考虑修复数据库。
为了修复您的数据库,您需要执行以下操作:
i) 在主题文件的根目录中访问 wp-config.php
ii) 选择编辑 wp-config.php 文件
iii) 在文件中添加以下代码:
define ( 'WP_ALLOW_REPAIR' , true);
代码应在该行之前添加:
/* That's all, stop editing! Happy publishing. */
iv) 在您的浏览器中,以 yourdomain.com/wp-admin/maint/repair.php 格式输入您的网址。 确保将 yourdomain.com 替换为您的实际域。
完成此操作后,您将在您的站点中看到这样的显示:

接下来,单击“修复数据库”按钮以启动自动数据库修复过程。
如果这不能解决问题,那么您也可以尝试提供的其他解决方案。
主题和插件检查
在某些情况下,您使用的主题和插件可能会导致“建立数据库连接时出错”。 为了确定您可以执行以下操作:
插件检查
i) 使用 Filezilla 等软件或 cPanel 等托管面板通过 FTP 访问您的站点文件
ii) 在站点文件的根目录中,导航到 Wp-contents 文件夹并将插件文件夹重命名为“plugins-old”
iii) 访问您的站点并查看“建立数据库连接时出错”是否已解决。
iv) 如果错误已解决,请将“plugins-old”文件夹重命名为“plugins”
v)访问WordPress仪表板中的插件部分并一一激活插件,检查错误是否在任何情况下都已解决,以识别导致问题的插件。
一旦您确定了冲突的插件,请再次禁用它并就该问题咨询插件作者。
主题检查
i) 与插件检查类似,通过 FTP 访问您的站点文件
ii) 在站点文件的根目录中,导航到 Wp-content > Themes 文件夹并重命名您当前活动的主题。 您可以通过添加句号来做到这一点
iii) 访问您的站点以查看“建立数据库连接时出错”是否已解决
如果错误得到解决,这意味着问题是由您的主题引起的。 在这种情况下,您需要咨询主题作者或支持。
修复损坏的 WordPress 文件
在某些情况下,错误也可能是由损坏的 WordPress 文件引起的,尤其是在黑客获得了对您站点文件的访问权限的情况下。
为了检查是否是这种情况,您需要执行以下操作:
i) 对您的站点进行完整备份。 这是有关如何进行此操作的指南。
ii) 从 wordpress.org 下载 WordPress

iii) 解压下载
iv) 删除 wp-content 文件夹以及 wp-config.php 和 wp-config-sample.php 文件。
v) 使用 Filezilla 等软件或 cPanel 等托管面板通过 FTP 将剩余文件上传到站点文件的根目录。
这将用新文件覆盖现有文件。 完成此操作后,重新加载您的网页并查看“建立数据库连接时出错”现在是否已解决。
咨询您的托管服务提供商
如果上述建议没有帮助,建议您就“建立数据库连接时出错”咨询您的托管服务提供商。 可能是数据库服务器出现停机时间。
您的托管服务提供商可以检查问题并确定确切原因并进行修复。
结论
“建立数据库连接时出错”是常见的 WordPress 错误。 如果您在网站中遇到错误,我们建议您尝试上述方法来解决问题。 对您的站点执行完整备份也很重要,因为如果发生此类错误,它们可以作为很好的恢复点。
我们希望上述方法将有助于解决未来的“建立数据库连接时出错”。 如果您有任何问题或意见,请随时在下面的评论部分提出。