如何修复WordPress中的“Error Establishing a Database Connection”错误

本文章转载自WB360,是我在bing上搜索看到的。缘起是昨天我的网站还能愉快的访问,但今天一早起床,突然就不能访问了。当我并没有操作数据库后台的什么配置。

于是,自然要先搜索一下,然后根据指点,去腾讯云的客服咨询了一下。经过半个多小时的客服沟通指点,我自己在PuTTY上面操作一下。(我不是开发人员,只是站长或者运营人员,虽然网站是我自己完全独立搭建的,但都是跟着别人的教程操作的。)

同样的建议送给正在被这个问题牵绊的你,最好直接去找你的服务器商的线上客服,不要查看各种教程浪费时间。

你看到这里,如果相信我说的,现在就应该暂时浏览这个页面,然后去找客服。

以下是原文内容,未经授权转载,如原站长觉得不妥请联系我删除,谢谢。


分析问题
解决问题
防止下一次出现同样的问题

 

每个 WordPress 网站站长都有可能遇到“Error establishing a database connection”错误。

没错,这个错误信息看起来很严重。没有熟悉的 WordPress 网站界面,只有文字:

首先,不要恐慌!

知道你现在可能有点害怕,但是,这个问题可以解决。事实上,建立数据库连接的错误是很常见的。

理解出错原因

 

顾名思义,通过文字可以判断——它是建立数据库连接的错误。

下面是它出错的原因:

WordPress 主要使用两项技术:PHP 和 MySQL。

  • PHP是一种编程语言。WordPress – 所有核心 WordPress 文件 – 是用 PHP 编写的。
  • MySQL是一种数据库技术。WordPress使用MySQL数据库来存储网站的所有内容。这包括文章、页面,还包括较小的元素,如网站标题、小部件布局、颜色设置等。所以说,MySQL数据库是保存你网站的每一条信息,甚至是最小的一条信息的地方。

将两者结合起来,WordPress使用PHP命令连接到MySQL数据库,获取所需的信息,然后在屏幕上显示出来。

这就是错误产生的原因。无论出于何种原因,当WordPress无法通过PHP命令访问数据库中的信息时,就会出现错误。当这种情况发生时,WordPress不知道下一步要做什么,所以它只能说,“Error establishing a database connection

尽管如此,错误发生的原因有很多。一些比较常见的原因:

  • 登录信息不正确。WordPress需要特定的登录名和密码才能访问数据库。如果由于某些原因登录信息发生了变化,那么WordPress将无法再从数据库中获取内容。
  • WordPress文件损坏。核心WordPress文件可能会由于更新失败而损坏。这可能包括插件、主题更新失败,甚至WordPress主软件更新失败。
  • 数据库损坏。这可能是由于恶意插件在内部破坏了数据库、黑客的攻击、主题加载失败等等。
  • 数据库服务器宕机。在某些情况下,Web 服务器(存储网站文件的服务器)与数据库在不同的机器上运行。而那个独立的数据库服务器可能会因为某些原因宕机。
  • 流量太大。流量大是件好事,但它仍然是一个问题。具体来说,数据库可能因流量高峰而无法响应。例如,你的一个帖子在网上疯传,很多人蜂拥而至,服务器无法同时处理这些访问。

如何修复“建立数据库连接时出错”

 

时间就是金钱,首先推荐最有可能快速解决问题的方法。然后,我们会深入挖掘手动完成修复的方法。

第 1 步:联系你的主机提供商

联系你的主机提供商,从客户支持那里获得帮助是最快的解决办法。

如果你的网站在一分钟前(或一天前)还在工作,现在却无法访问了,那么问题可能出在你的主机端。

如今,所有高质量的主机都提供某种形式的快速响应服务,通常是通过实时聊天。

首先联系实时聊天的客服,告诉他们你遇到“建立数据库连接时出错”,然后询问:

  • 是否数据库已启动并正常运行
  • 是否在服务器上出现流量高峰

在大多数情况下,如果你告诉他们遇到了什么错误,他们会告诉你确切的原因,或者帮助你修复错误。

最重要的是,它们会让你知道数据库是否正常,以及服务器上是否有可疑活动。

如果故障不在他们这边(服务器正常运行并且没有流量高峰),则继续执行第 2 步:

第 2 步:检查你的插件或主题文件是否已损坏

你的WordPress文件可能会因为某些原因而损坏。

例如,也许更新了插件或主题,然后网站无法访问了?也许是你把网站连接到外部服务上了?也许你手工编辑了一些文件?

如果你做过以上任何一种操作,那么问题原因找到了。如果你没有做这些,请跳过这一步。

你可以执行以下操作:

  • 首先:通过 FTP 连接到主机。可以使用名为FileZilla的免费工具执行此操作。

连接时,需要登录名和密码连接到 FTP 帐户。如果你不知道它们是什么,获取它们的方法是搜索你首次注册时从主机商那里收到的初始电子邮件。或者,你可以要求实时聊天客服为你提供这些详细信息。

有了这些,连接到服务器并访问到 WordPress 根文件夹。它通常是“public_html”或“www”。

根据经验,如果你能看到像“wp-content”和“wp-admin”这样的子文件夹,那么这就是WordPress的根目录。例如:

  • 其次:进入“wp-content”并将“plugins”文件夹重命名为其他名称(任何其他名称,只要它不是“plugins”):
  • 第三:返回网站首页,查看错误是否仍然存在。

如果网站可以访问,说明问题是由某个插件引起的。返回 FTP,将文件夹重命名为“plugins”。进去,把各个插件的文件夹名称一一更改。最简单的方法是在末尾添加下划线:“_”

继续返回网站查看错误何时触发或消失。一旦把范围缩小到一个特定的插件,就找到了麻烦制造者。删除它或上网查看解决方案。

  • 如果在重命名“plugins”文件夹后,错误仍然存在,对“themes”文件夹执行完全相同的操作。
  • 如果问题没有解决,将这两个文件夹重命名为“plugins”和“themes”。说明错误是由其他原因引起的。

第 3 步:检查数据库是否损坏

WordPress 数据库是一个相当复杂的软件,需要很多小文件一起工作,才能正常运行。有时,一个地方出错了,就会出现数据库连接错误。

  •  首先要检查的是否可以访问 WordPress 仪表板 – YOURSITE.com/wp-admin

如果看到相同的主要错误:“error establishing a database connection”,请跳过此步骤。

  • 其次,如果出现其他内容,关注WordPress建议你应该做什么。在最近的版本中,WordPress扩展了问题解决方案,所以可能会在那里看到一些很好的建议。

另一种可能是,看到“一个或多个数据库表不可用”为开头的消息,说明需要“修复”数据库。

方法其实很简单。首先,通过 FTP 连接到网站。来到 WordPress 根目录将“wp-config.php”文件下载到你的桌面。

在记事本中编辑此文件,在最后添加一行:

define(‘WP_ALLOW_REPAIR’, true);

现在将文件上传回网站(通过 FTP)覆盖旧版本。

访问 YOURSITE.com/wp-admin/maint/repair.php

这时你应该看到:

单击任一按钮。自动修复完成后,返回你的网站,查看错误是否仍然存在。

如果没有错误,太好了!但是你仍然需要将“wp-config.php”文件恢复到以前的状态。删除刚刚添加的新行并重新上传文件。

如果错误仍然存在,下一步是:

第 4 步:检查数据库连接信息

前面提到,WordPress 使用特定的用户名和密码连接到数据库。通常,这些访问数据不会自行更改。但是,在更改网站文件、主机环境或其他任何内容之后,可能会遇到一些奇怪的情况。换句话说,即使它不应该发生,连接数据有时也会改变。如果连接信息不正确,就会发生“建立数据库连接时出错”!

打开“wp-config.php”文件进行修复。我们具体讨论的是这几行:

define(‘DB_NAME’, ‘some_db’);
define(‘DB_USER’, ‘some_username’);
define(‘DB_PASSWORD’, ‘some_pass’);
define(‘DB_HOST’, ‘localhost’);

它们保存了WordPress连接到数据库所需的所有细节。如果其中任何一个错误,都将无法建立连接。

注意:有一种手动方法可以解决此问题,但需要多个步骤,而且根据你使用的主机所用的界面,可能会非常混乱。换句话说,我们所说的一切只适用于一小部分用户,这些用户恰好与我们使用相同的主机,所以我们提供了一个更通用的解决方案:

从“wp-config.php”文件中取出这四行,将它们复制到剪贴板,然后联系你的主机客服,将这些行粘贴到聊天窗口中,询问这些信息是否可以连接数据库。

客服会帮助你检查信息,然后给你反馈。大多数情况下,如果有任何更改,他们会提供正确的连接信息。

将新的连接信息添加到“wp-config.php”文件中。

define(‘DB_NAME’, ‘some_db’); /* this is the name of your WordPress database */
define(‘DB_USER’, ‘some_username’);
define(‘DB_PASSWORD’, ‘some_pass’);
define(‘DB_HOST’, ‘localhost’); /* this is the web address of your database server */

最后,通过FTP重新上传文件。

在这个阶段,返回网站并查看错误是否已修复。

如果没有,来到最后一步:

第 5 步:恢复默认的 WordPress 文件

正如我们之前提到的,核心 WordPress 文件可能由于多种原因而损坏。也许你的网站遭到黑客攻击,也许你不小心修改了某些文件,也许是恶意插件进行了修改。

不管是什么,仍然可以恢复 WordPress 的默认文件。最简单的方法是从 WordPress.org 下载一个干净的 WordPress 版本,然后复制到现在的版本上。

到这里,将最新的软件包下载到桌面。打开包装。浏览解压后的文件并删除“wp-content”文件夹。

接下来,通过 FTP 连接到你的网站,来到 WordPress 根目录,上传新 WordPress 文件。覆盖所有以前的文件。

上传完成后,返回网站查看效果。

这是最后的解决方法。如果还没有帮助,你将别无选择,只能回到主机客户支持,告诉他们你所做的一切,并寻求帮助。在这个阶段,基本上已经用尽了自己可以做的一切来解决问题,现在轮到主提供商来解决它了。

以后如何避免这个错误?

 

虽然没有万无一失的方法来解决数据库连接错误,但是以下两个方法可以至少90%的安全隐患:

  • 高质量的主机。选择专门提供WordPress主机的服务商,可以获得更专业的知识和快速的帮助。可以避免许多常见的WordPress问题。以下是我们的WordPress主机托管建议。
  • 有备份。安装一个简单的备份插件,比如UpdraftPlus(它会自动备份),你应该有一个可用的WordPress 备份,可以恢复网站,以防万一。

希望本指南对你有所帮助!如果你在建立数据库连接时遇到错误,请随时联系我们(或发表评论)。

One Response

Add a Comment

Your email address will not be published. Required fields are marked *