修复在 WordPress 中建立数据库连接时出错的 7 个步骤
已发表: 2024-04-08您是否在 WordPress 中遇到“建立数据库连接错误”的问题? 我将向您展示如何快速解决此问题并使您的网站重新启动并运行。
有几个故障排除步骤可以有效地诊断和解决此错误。 通过执行这些步骤,您的网站可以恢复正常运行,而不会丢失任何内容或数据。
首先,我将解释您可能在 WordPress 中看到“建立数据库连接时出错”的一些常见原因。 接下来,我将指导您完成解决这些潜在原因的每个步骤,帮助您恢复网站的功能。

WordPress 建立数据库连接时出错是什么原因?
WordPress 需要网络服务器和数据库才能工作。 Web 服务器托管 PHP 文件和 WordPress 网站运行所需的其他文件,例如媒体文件。 该数据库保存您的所有帖子和页面信息,以及站点配置详细信息。 当用户查看页面时,PHP 从数据库中提取该页面的数据。 如果此连接因任何原因中断,您会收到数据库连接错误。
以下是在 WordPress 中建立数据库连接时出错的一些常见原因:
- 不正确的登录凭据– 不正确的数据库登录凭据是导致数据库连接错误的最常见原因。 如果您在将 WordPress 站点移动到新主机后立即看到该消息,通常就是因为这个原因。
- 用户权限不足– 您可能拥有正确的用户名/密码,但用户可能没有适当的权限。 同样,如果您在迁移站点后遇到错误,这种情况更为常见。
- 数据库损坏– 这可能是由于直接操作 MySQL 数据库造成的,但也可能意外发生,例如安装或删除插件。
- 文件损坏– 与数据库本身一样,损坏的文件也可能导致在 WordPress 中建立数据库连接时出错。
- 数据库服务器问题– 如果您的网络主机使用单独的数据库服务器,即使托管您网站文件的服务器工作正常,该服务器的问题也可能会触发 WordPress 中建立数据库连接时出错的消息。
- 流量突然增加– 当您的站点难以应对并发数据库连接的增加时,流量突然激增可能会导致此数据库错误发生。 如果您的网站使用共享托管,则更有可能出现这种情况。
同样,如果您在将站点迁移到新主机后遇到错误,则前两个问题是最常见的。 其他问题可能发生在任何站点。
如何修复 WordPress 中建立数据库连接的错误
现在我们知道了潜在的原因是什么,是时候解决问题了。 按照此分步指南解决数据库连接问题并使您的站点重新上线。
一个好的起点是备份您的网站。 在解决问题时,您不想冒进一步损害您的网站的风险。 拥有备份是防止这种情况发生的明智保障。 确保备份文件和数据库。
检查 wp-config.php 中的数据库登录凭据
您的第一个调用端口应该是您的wp-config.php
文件,您可以在站点的名为public_html 、 htdocs或www 的目录中找到该文件。 使用 FTP 客户端下载它。
或者,如果您的主机提供 cPanel,请在仪表板中找到文件管理器图标并导航到相应的文件夹。

下载wp-config.php
文件并妥善保管。 您需要将此版本作为备份副本。

接下来,在wp-config.php
中查找以下代码行:
// ** Database settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME', 'database_name_here' ); /** Database username */ define( 'DB_USER', 'username_here' ); /** Database password */ define( 'DB_PASSWORD', 'password_here' ); /** Database hostname */ define( 'DB_HOST', 'localhost' ); /** Database charset to use in creating database tables. */ define( 'DB_CHARSET', 'utf8' ); /** The database collate type. Don't change this if in doubt. */ define( 'DB_COLLATE', '' );
上面的示例显示了示例数据。 对于列出的前四个设置(数据库名称、数据库用户名、数据库密码和数据库主机名),您应该拥有主机提供的信息。 如果您手动安装 WordPress,您可能已经自己定义了前三个凭据。
您可以通过验证数据库名称、数据库用户名、数据库密码和数据库主机名来检查您拥有的信息是否正确。 如果您是 cPanel 用户,您可以在 cPanel 的数据库部分找到相关信息。

检查数据库名称
要检查数据库名称,请转到phpMyAdmin并在屏幕左侧查找它。 它应该与wp-config.php
中的数据库名称匹配。


单击数据库名称,然后单击wp_options
表(您的可能有不同的前缀),仔细检查它是否是正确的网站。 查找站点 URL 和主页。 这些应该显示您网站的 URL。

检查用户名和密码
如果数据库名称检查无误,您可以通过在服务器上运行简单的 PHP 脚本来测试wp-config.php
中的用户名和密码是否正确。
在文本编辑器(例如记事本)中输入以下代码并将其另存为testconnect.php
:
<?php $link = mysql_connect('localhost', 'username', 'password'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected to database'; mysql_close($link); ?>
在脚本显示用户名和密码的地方,将其替换为wp-config.php
中数据库用户名和密码的值。
将此脚本上传到您的虚拟主机的public_html 、 htdocs或www目录中(确切的目录取决于您的主机)。
转至yourdomainname.com/testconnect.php
运行脚本。 如果您收到成功消息,则表明用户名和密码是正确的。
如果出现错误,您将需要重置数据库用户的密码或创建新的数据库用户和密码。
在 cPanel 中,您可以在MySQL Databases下找到数据库用户。

要更改数据库用户的密码,请查找“当前用户”并为要更新的用户选择“更改密码”选项。 完成后使用“更改密码”按钮。

或者,您可以通过填写“添加新用户”表单来添加新用户。

创建用户后,通过从下拉控件中进行选择并使用Add将该用户添加到数据库中。

然后您将看到管理用户权限的屏幕。 检查所有权限,然后进行更改。

请记住更新wp-config.php
并使用密码和/或用户保存它。 您还可以从服务器中删除testconnect.php
。
检查您的数据库主机名
如果验证数据库、用户和密码后仍然出现连接错误,请检查数据库主机名。 数据库主机名通常是localhost
,尽管某些主机可能使用127.0.0.1
。 如果这些都不适合您,请咨询您的主机以找出正确的值。
检查数据库用户权限
如果验证您的凭据后仍然收到错误消息,您可以检查您的数据库用户是否具有正确的权限。 如果您自己创建了数据库用户,您可能无意中授予了他们足够的权限。
在 cPanel 中,转到MySQL 数据库,然后转到当前数据库。 查找特权用户并单击您要检查的用户。

查看检查了哪些权限并确保启用了所有权限。 使用“进行更改”保存所有权限。 接下来,尝试再次访问您的网站。


修复数据库
如果您已检查数据库登录凭据和数据库用户权限,下一步就是尝试修复数据库。 如果出现“一个或多个数据库表不可用”消息,您可能需要执行此操作。 数据库可能需要修复。” 在wp-admin中。
您可以通过将以下行添加到wp-config.php
的末尾来访问修复模式:
define('WP_ALLOW_REPAIR', true);
编辑您的wp-config.php
并保存,或将更新的wp-config.php
文件上传到您的网络空间。
然后,访问yourdomainname.com/wp-admin/maint/repair.php
。
您将获得两种选择:一种是修复数据库,另一种是修复和优化数据库。 第二个需要更多时间。

选择您要使用的一个,完成后,再次检查网站是否已解决连接错误。

请记住从wp-config.php,
否则任何人都可以在您的服务器上运行修复脚本。
您还可以在 phpMyAdmin 中运行修复命令。 登录并选择您的数据库; 检查所有表; 并运行“选定”下拉菜单中的“修复表”命令。

最后,您可以使用修复数据库功能。 它可以通过 cPanel 中 MySQL 数据库中的“修改数据库”选项获得。

检查是否有损坏的主题或插件
如果您的主题或插件文件已损坏,这可能是导致数据库连接错误的另一个原因。
如果您无法访问wp-admin ,您可以在 phpMyAdmin 中更改主题。
如果这解决了您的问题,那么您就知道您的主题有问题。 检查是否有更新版本可以解决该错误,或使用其他主题。
要测试有问题的插件,您可以在wp-admin中停用所有插件。 如果您无法访问wp-admin ,您可以通过 FTP 或文件管理器将wp-content中的plugins
文件夹重命名为plugins_old
来停用插件。

现在,检查连接错误是否已修复以及您是否有权访问wp-admin 。 如果是这样,您就知道您的某个插件有问题。 将plugins_old
文件夹重命名回plugins
。 然后在wp-admin中一一激活插件,检查是否出现错误,找出是哪个插件有问题。
如果您检查了主题和插件,但仍然遇到在 WordPress 中建立数据库连接时出错的情况,请继续阅读。
恢复 WordPress 核心文件
无法连接到数据库的另一个可能原因是核心文件损坏。 解决此问题的方法是将 WordPress 核心文件的新副本上传到您的网络空间。
在继续之前最好先进行备份。 如果您对文件(例如.htaccess,
进行了任何更改,您将需要保留副本并在上传其他核心文件后使用它。
从 https://wordpress.org/download/ 下载最新版本的 WordPress。

解压缩文件。 然后,删除wp-content文件夹和wp-config-sample.php
文件。 这样您就不会覆盖现有内容或创建新的wp-config.php
文件。

使用 FTP,将所有其他文件上传到您的网络主机,覆盖现有文件。
完成后,检查数据库连接问题是否已消失。 如果没有,请继续执行下一步。
检查您的数据库服务器是否已关闭
在 WordPress 中建立数据库连接时出错的另一个原因是您的数据库服务器可能无法正常工作。 如果您使用共享主机,这种情况更有可能发生,因为共享主机为每个网站分配的资源有限。 如果您的站点的受欢迎程度大幅上升,则数据库服务器可能无法处理所需数量增加的数据库连接。
减轻数据库服务器负载的一种方法是使用缓存插件来提供网页的静态版本。 这样,网络服务器就不必频繁查询数据库来访问您的内容。
如果您在主机上运行多个 WordPress 站点,请检查它们是否正在运行。 如果其他服务器都出现故障,则可能表明数据库服务器出现问题。
您还应该咨询您的托管提供商,看看数据库服务器是否存在问题,如果有,他们希望何时修复。
联系您的房东
如果其他方法均失败,请联系您的房东并请求他们帮助解决问题。 让他们知道您已经尝试过什么 - 他们也许能够发现您错过的东西。
修复在 WordPress 中建立数据库连接时出现的错误
WordPress 中建立数据库连接错误消息是您需要快速解决的问题,因为它会破坏您的网站。 幸运的是,有多种方法可以解决这个问题。
到目前为止,最可能的原因是数据库凭据不正确 - 您应该首先检查这些凭据。 如果情况并非如此,您可以检查数据库用户权限、修复数据库、检查文件是否损坏、查看数据库服务器是否正常工作,或者从主机获取帮助。
解决问题后,您的网站应该可以再次正常运行,不会出现任何数据丢失或持续出现的问题。
有关修复 WordPress 中的问题的一些更一般的提示,您可能还需要阅读我们有关一般 WordPress 故障排除和常见错误的指南。
您对修复 WordPress 网站上的建立数据库连接错误消息仍有疑问吗? 请在下面的评论中告诉我们!