如何修复您网站上的“建立数据库连接时出错”消息

已发表: 2022-07-26

“建立数据库连接时出错”是 WordPress 网站所有者可能遇到的最常见问题之一。 除了成为最常见的 WordPress 错误消息之一之外,它还赢得了其中最严重的错误消息之一的地位,如果某些事情中断了 WordPress 与其数据库通信的能力,该网站将完全无法访问。

但是当它说建立数据库连接时出错是什么意思? 您的 WordPress 网站是一个动态的、数据库驱动的应用程序,这意味着如果无法从数据库中检索到所请求的数据,WordPress 将显示一条错误消息,直到解决基本问题并建立成功的连接。

按照我们的 WordPress 数据库连接错误综合指南,了解如何逐步修复您网站上的“建立数据库连接时出错”消息。

WordPress 数据库及其在内容渲染中的作用

内容渲染可以描述为将请求的内容交付给您的网站访问者的过程。 WordPress 抽象了该过程的复杂性,这意味着您作为网站所有者几乎不需要干预它的工作方式以使您的 WordPress 网站正常工作。

您的 WordPress 数据库存储您创建的绝大多数内容,包括帖子、页面和其他一些允许 WordPress 生成动态网页的数据。 所有这些信息都需要从数据库中加载并由 WordPress 进一步处理以创建一个 HTML 文件,然后将其发送给访问者。

PHP 使用称为数据库驱动程序的特殊扩展,使用 WordPress 配置文件中提供的凭据建立与 WordPress 数据库的连接。 当提供的凭据不正确、缺少数据库驱动程序或数据库服务器没有响应时——所有这些问题都会中断内容呈现,从而导致 WordPress 网站上显示“建立数据库连接时出错”消息。

建立数据库连接时出错消息

在 WordPress 中建立数据库连接的错误是什么?

“建立数据库连接时出错”是 WordPress 生成的错误消息,用于通知您在内容呈现期间未能成功建立与 WordPress 数据库的连接。

由于 WordPress 严重依赖执行数据库查询以检索请求的数据以生成任何网页的能力,因此“建立数据库连接时出错”是一个影响整个网站的错误,包括管理区域。 这意味着当 WordPress 遇到数据库连接问题时,您可以使用的工具数量非常有限,可以让您的网站重新上线。

建立数据库连接时出错

建立数据库连接错误的 5 个主要原因

您网站上的“建立数据库连接时出错”消息表明 WordPress 在尝试连接到其数据库时遇到了严重问题。 正如我们所讨论的,在所有阶段都可能遇到问题——从 PHP 发送初始请求到实际与数据库服务器通信,再到提供身份验证信息以访问数据库。

这就是为什么将潜在问题确定为解决 WordPress 数据库连接问题的关键部分非常重要的原因。 在不知道导致问题的原因的情况下,简单地应用已知的修复程序可以让您远离解决问题并恢复 WordPress 网站的功能。

WordPress中“建立数据库连接错误”背后的五个主要原因包括:

  • wp-config.php 中提供的 WordPress 数据库凭据不正确。
  • WordPress 数据库用户没有足够的权限
  • 您的 WordPress 数据库已损坏。
  • 您的数据库服务器遇到问题。
  • 您的 WordPress 网站被黑客入侵。

原因 1:您在 wp-config.php 中的 WordPress 数据库凭据不正确

WordPress 使用 wp-config.php 文件中指定的数据库凭据来建立与其数据库的连接。 使用四个主要常量提供建立数据库连接所需的信息:

  • DB_NAME。 表示您的 WordPress 数据库的名称。
  • DB_USER。 定义已被授予访问 WordPress 数据库的 MySQL/MariaDB 用户。
  • DB_PASSWORD。 存储 WordPress 数据库用户密码的值。
  • 数据库主机。 标识 WordPress 将向其发送连接请求的数据库服务器。

顾名思义,常量用于存储在脚本执行期间无法更改的信息。 如果上述存储在 wp-config.php 文件中的任何信息不正确,WordPress 将无法成功建立数据库连接。 这将不可避免地导致您的 WordPress 网站上显示“建立数据库连接时出错”消息。

由于 WordPress 除了简单地读取您在主 WordPress 配置文件中放置的值之外,没有其他方法来获取数据库凭据,因此确保在对它进行任何更改后所有信息都在此处更新是非常重要的。 它可以包括将网站迁移到新服务器、克隆或只是更改 WordPress 数据库用户的密码以防万一。

原因 2:您的 WordPress 数据库用户没有足够的权限

当 WordPress 与其数据库建立连接时,它会以 wp-config.php 文件中指定的数据库用户身份进行身份验证。 但是,即使您提供的密码正确,并且数据库服务器接受了连接,如果没有足够的权限,它也不会允许用户访问任何信息。

每个 MySQL/MariaDB 数据库用户都有一个已被授予访问权限的数据库列表。 此外,数据库权限定义了用户可以对数据库数据执行的操作。

WordPress 要求数据库用户能够执行各种数据库操作,包括查看、添加和删除表中的数据。 如果用户没有足够的权限,您将在您的网站上看到“建立数据库连接时出错”消息。

原因 3:您的 WordPress 数据库已损坏

数据库损坏,表示 WordPress 数据库中的某些数据已损坏或删除的情况,是在您的网站上建立数据库连接错误的另一个原因。

您的 WordPress 数据库数据作为磁盘上的文件存储在系统中,当需要执行某些操作时这些文件会被加载。 当某些文件损坏时,您的数据库服务器无法加载数据库,导致 WordPress 完全无法访问它。 当删除重要的 WordPress 数据库表之一时也会发生同样的情况,导致 WordPress 无法加载您的网站。

发生这种情况的原因有很多,从硬件或软件故障导致的数据库服务器问题到人为错误甚至黑客攻击——所有这些都会导致数据丢失或重要信息的不正确表示。 在数据完整性恢复之前,WordPress 将无法与其数据库通信。

原因 4:您的数据库服务器遇到问题

您的数据库服务器一直在等待新的连接,并通过执行查询和返回请求的数据来服务所有请求。 对数据库服务器正常工作的任何中断都可能导致非常严重的后果。

如果您的 MySQL/MariaDB 数据库服务器不接受任何连接请求,这可能在完全离线、过载或遇到其他问题时发生,WordPress 将无法建立与其数据库的连接,您将看到“建立数据库连接时出错”消息在您的网站上。 数据库服务器问题不易排查,因此可以认为是 WordPress 数据库连接问题背后最严重的原因。

数据库服务器问题可能包括严重的情况,如表空间损坏或服务器上没有剩余磁盘空间,每种情况都会导致 MySQL/MariaDB 失败,并且在没有系统管理员干预的情况下无法启动。 同时,由于流量激增或 DDOS 攻击,您的数据库服务器可能会因请求而过载。

原因 5:您的 WordPress 网站被黑客入侵

黑客不断寻找新方法来控制您的 WordPress 网站,并且有无数种方法可以将其破坏到完全无法访问的地步。 虽然我们将黑客列为在您的 WordPress 网站上看到建立数据库连接错误的单独原因,但当 WordPress 网站被黑客入侵时,我们之前提到的多个问题可以同时出现。

没有办法知道黑客将如何修改您的 WordPress 网站的功能来利用它。 您的 WordPress 文件和数据库信息可能会被删除或更改到 WordPress 无法正常运行的程度,从而中断您网站所有组件之间的连接。

其他原因

不正确的数据库凭据或用户权限、WordPress 数据库损坏、数据库服务器问题和黑客攻击是在 WordPress 网站上看到“错误建立数据库连接”消息的五个主要原因。 但是,还有一些其他问题可能会导致 WordPress 中的数据库连接问题。 其中包括 WordPress 更新失败或使用的 PHP 版本中缺少数据库驱动程序。

如果正在使用的 PHP 版本中缺少数据库驱动程序,PHP 将无法连接到 WordPress 数据库。 如果您的 WordPress 核心文件已损坏,也会出现类似情况。 您很可能会看到“您的 PHP 安装似乎缺少 WordPress 所需的 MySQL 扩展”消息、“500 内部服务器错误”或“您的网站出现严重错误”,但看到“错误建立数据库连接”也很常见。

如何通过 3 个步骤修复“建立数据库连接时出错”消息

对 WordPress 数据库连接错误进行故障排除包括了解导致错误的原因并采取必要步骤来恢复 WordPress 与其数据库之间的正常连接。 您可以通过三个步骤修复 WordPress 建立数据库连接的错误:

  • 手动连接到 WordPress 数据库。
  • 确定根本问题。
  • 恢复数据库连接。

步骤 1. 手动连接到 WordPress 数据库

解决建立数据库连接的 WordPress 错误的第一步也是最重要的一步是测试您是否可以使用 wp-config.php 文件中指定的凭据连接到 WordPress 数据库。 您可以使用 MySQL 命令或 WordPress 命令行界面。

WP CLI 提供的wp db query命令可以让您检查您的数据库服务器是否接受连接请求,wp-config.php 中的密码是否正确,以及数据库用户是否有足够的权限。 您不需要为命令提供任何参数,WP CLI 将自动读取主 WordPress 配置文件中指定的 WordPress 常量的值。

该命令可以产生三种可能的输出之一——两种表示连接失败,另一种表示连接已成功建立。 您收到的输出将帮助您缩小 WordPress 建立数据库连接错误背后的可能原因列表。

步骤 2. 确定潜在问题

根据您收到的输出,您将能够识别 WordPress 中“建立数据库连接时出错”消息背后的问题。 让我们看看这两种情况——建立连接和 WP CLI 连接失败。

连接失败

如果您尝试的数据库连接失败,您将看到以下输出之一。 两个输出都表示尚未建立连接,但显示的错误消息会让您知道发生了什么问题。

wp 数据库查询

第一条错误消息显示数据库服务器接受了连接请求,但拒绝访问数据库。 这意味着您要么未能通过身份验证,要么数据库用户没有足够的权限访问 WordPress 数据库并运行查询。

第二个输出表明数据库服务器没有接受连接请求,这意味着 MySQL/MariaDB 要么离线,要么请求过载,以至于无法接受新的连接。 允许同时请求的数量有限制,如果达到限制,每个新请求都将被拒绝,让您的 WordPress 网站显示“建立数据库连接时出错”消息。

已建立数据库连接

如果您尝试的连接建立成功,您将看到类似于下面的输出,这意味着 WP CLI 能够使用 wp-config.php 文件中指定的凭据和数据库用户连接到 WordPress 数据库具有所需的权限。 建立连接后,您将能够从 MySQL 命令行客户端运行查询或查看表数据。

连接 ID

已建立成功连接这一事实意味着您的数据库服务器已启动并正在运行,并且没有因请求过载而不允许新连接。 但是,即使您可以从命令行连接到您的 WordPress 数据库,也不能保证建立数据库连接的 WordPress 错误会消失。

步骤 3. 恢复数据库连接

根据您尝试从命令行连接到 WordPress 数据库时收到的输出,您将需要采取不同的步骤来恢复 WordPress 的连接能力,并修复您网站上的“建立数据库连接时出错”消息。

已建立数据库连接

如果您能够建立连接,但您的 WordPress 网站仍然无法访问,则可能表明数据库中缺少一些重要数据,导致 WordPress 无法加载所需信息。 好消息是您可能无需从备份中恢复数据库即可修复数据库。

您可以使用 WP CLI、phpMyAdmin 或 WordPress 提供的图形用户界面来修复 WordPress 数据库。 运行 wp db check 和 wp db repair 命令将帮助您检查 WordPress 数据库是否存在任何问题并进行修复。

数据库检查和修复

WordPress 有一个内置功能,即使您的网站显示“建立数据库连接时出错”消息,您也可以修复数据库。 将下面的行添加到您的 wp-config.php 文件中,以便能够访问 WordPress 数据库修复界面。

wp允许修复

打开 your-wordpress-site.com/wp-admin/maint/repair.php,其中 your-wordpress-site.com 是您的 WordPress 网站的域名,然后选择修复数据库或修复和优化数据库。

修复 WordPress 数据库后,您应该不会再在您的网站上收到“建立数据库连接时出错”消息。 之后不要忘记从 wp-config.php 文件中删除常量。

连接失败

根据您尝试从命令行建立与 WordPress 数据库的连接后出现的错误消息,您可能意识到 wp-config.php 文件中的凭据不正确,数据库用户没有足够的权限,或者数据库服务器不接受任何连接。

打开您的 wp-config.pp 文件并检查您的数据库连接设置。 您可能会意识到缺少某些信息,或者用户密码在更改后未更新。

mysql

打开您的网络托管管理面板并导航到数据库管理界面。 如果您使用的是 cPanel,则需要从 WordPress 站点的 cPanel 帐户打开 MySQL 数据库界面。 确保 wp-config.php 中指定的数据库用户与 WordPress 数据库正确关联并且已被授予所有权限。 更新其密码并将正确的信息放入 WordPress 配置文件中。

重新加载您的 WordPress 网站以查看“建立数据库连接时出错”消息是否消失。
如果您继续看到数据库连接错误,请按照上一节中概述的过程修复数据库。

如果您根本无法连接到数据库服务器并怀疑它处于脱机状态或连接过载,最好联系您的网络托管服务提供商以请求进一步的帮助。 服务器端问题可能难以解决,错误的故障排除方法可能导致严重后果,包括数据丢失。

如果以上解决方案都没有帮助

如果上述解决方案都不适合您,并且 WordPress 仍然无法建立与其数据库的连接,则可能表明需要进一步调查的更严重的问题。 您的网络托管支持团队将能够找出导致您网站上“建立数据库连接时出错”消息的确切原因,并为您提供最佳解决方案。

您可能必须从备份中恢复您的 WordPress 数据库或整个网站,或者删除已放置在那里以破坏它的恶意注入和脚本。

如何防止未来的数据库连接错误:3 个提示

对网站管理采取谨慎的方法是使其免受各种威胁并避免错误的最佳方式。 由于 WordPress 依赖于连接到其数据库来检索所需数据的能力,因此确保可以始终建立成功的数据库是防止未来错误的关键。

1. 定期审查您的网站及其配置

定期审查您的 WordPress 网站内容并确保您的虚拟主机中的所有更改都反映在 WordPress 配置文件中是必不可少的。 保持 WordPress 建立与其数据库的连接所依赖的数据库身份验证信息是最新的,这一点尤为重要。

每次对数据库用户密码或数据库服务器进行任何可能影响 WordPress 与其通信方式的更改时,不要忘记更新 wp-config.php 中的 WordPress 数据库凭据。 当您将 WordPress 网站移动到另一台服务器、克隆它以创建临时环境或使用新域名时,更新所有 WordPress 配置尤为重要。

2.投资优质托管

您的网站是否 24/7 全天候在线,以及您需要花费多少时间来解决出现的错误,这取决于针对 WordPress 优化网络托管服务以适应流量的程度。 选择可扩展的托管解决方案,以保证您的网站不会因请求超载而变得无法访问,即使您举办了大型促销活动。

您的网络托管支持团队应主动监控生产环境、运行更新并解决任何服务器端问题。 这包括对 DDOS 攻击的快速响应,这种攻击可能会使您的服务器无法处理任何请求并导致您的网站瘫痪。

寻找最好的 WordPress 主机? 我们建议将 Nexcess 用于完全托管的 WordPress 托管,将 Liquid Web 用于 VPS 和专用服务器。

3. 保护您的 WordPress 网站

安全性是在线开展业务的最重要方面之一。 随着网络安全攻击的兴起,没有网站所有者可以免受全球网络带来的各种威胁。 如果您的 WordPress 网站被黑客入侵,大多数情况下,攻击者可以访问您的数据库,这使他们能够添加新的管理员用户并对您的业务造成严重破坏。 注入的恶意代码会导致极具破坏性的后果,使您的网站完全无法访问或无法正常运行。

我们建议您安装 WordPress 安全插件(如 iThemes Security Pro)来保护您的 WordPress 网站。 iThemes Security Pro 提供 24/7 全天候网站安全监控、暴力攻击保护、针对易受攻击的插件、主题和 WordPress 核心版本的站点扫描器,以及两因素身份验证等用户安全增强功能。

4.执行定期更新

大多数情况下,黑客通过利用已知漏洞来访问您的网站; 这就是为什么执行定期更新的重要性很难被高估的原因。 确保您的 WordPress 安装、所有插件和扩展都更新到最新版本。

软件更新的最佳方法是使过程完全自动化。 iThemes Security Pro 提供的版本管理功能允许您为 WordPress 核心、插件和主题配置自动更新,并执行有助于识别所有过时软件的扫描。

您是否管理多个 WordPress 网站? iThemes Sync 之类的工具为您提供了一个中央仪表板,可以在一个地方管理所有 WordPress 网站的更新。

5. 将自动备份配置为按计划运行

能够在发生错误时恢复您的 WordPress 网站是网站管理最重要的方面之一。 备份有助于保护您的网站免受数据丢失以及安全漏洞和服务器端问题的其他破坏性后果。 确保您配置了定期备份,以便将数据保存到安全位置。

使用 WordPress 的备份插件是确保您只需单击几下即可随时恢复您的网站的好方法。 超过一百万个 WordPress 网站受到 iThemes 的 BackupBuddy WordPress 插件的保护,它允许您在几分钟内备份和恢复 WordPress 网站的每个组件。

6. 保护您的网站免受安全威胁

如果您希望最大限度地减少网站出现错误和访问者无法访问的可能性,那么对安全威胁做出快速响应并采取积极主动的方法来确保安全是关键。

黑客攻击可能会导致您网站的所有组件崩溃,从而使您无法恢复功能并将其重新上线。 您需要针对 WordPress 优化的安全解决方案,以保护您的网站免受已知威胁并让黑客远离。

iThemes Security Pro 是一个插件,用作应用程序级安全解决方案,可过滤恶意请求并阻止未经授权访问您网站中最易受攻击的部分。 iThemes Security Pro 站点扫描功能允许您运行漏洞扫描,如果您的主题、插件或 WordPress 核心版本存在已知漏洞,则会提醒您。

包起来

与所有数据库驱动的应用程序一样,WordPress 依赖于建立与其数据库的连接并运行查询以检索请求的内容的能力。 WordPress 无法与数据库服务器成功通信时会生成“建立数据库连接错误”消息,这可能有多种原因。

了解 WordPress 需要什么来建立数据库连接以及如何恢复您的网站与其数据库之间的正常通信将帮助您解决数据库连接错误并让您的网站为访问者保持在线。

获得奖励内容:WordPress 安全指南
点击这里