这个错误是 WordPress 网站最常遇到的错误之一。它与白屏死机 (WSOD)密切相关。此错误意味着您的网站不再通信或无法访问您的WordPress 数据库;因此,您的整个网站都会瘫痪。在这里强烈推荐新手直接使用国外虚拟主机建站,这样出问题后可以联系主机商给你解决,省去不少脑细胞。
什么是Error Establishing a Database Connection?
当网站无法连接到 WordPress 数据库时,就会发生“Error Establishing a Database Connection”错误,对应中文就是“建立数据库连接错误”,从而导致页面无法加载。此问题的最常见原因是登录凭据不正确和数据库损坏。
它的工作原理是这样的: 您的 WordPress 网站上的所有信息,例如帖子数据、页面数据、元信息、插件设置、登录信息等都存储在您的 MySQL 数据库中。唯一不存储的数据是媒体内容(例如图像)和主题/插件/核心文件(例如 index.php、wp-login.php 等)。
当有人访问您的网站时,PHP 会执行页面上的代码,从数据库中查询信息,然后在访问者的浏览器中将其显示给访问者。
如果这不能正常工作,您将看到“建立数据库连接时出错”消息,如下所示。整个页面是空白的,因为连接无法正常工作,无法检索数据来呈现页面。这不仅会破坏您网站的前端,还会阻止您访问WordPress 后台。
但是,访问者可能不会立即在前端看到此错误。假如你的网站套了国外免费CDN的话,会显示离线版本的页面,直到缓存过期。
为什么出现Error Establishing a Database Connection错误
那么到底为什么会发生这种情况呢?那么,下面是一些常见的原因。不用担心,我们将更深入地讨论每个问题,以便您知道如何解决它们。通常您可以在 15 分钟内解决此错误。
数据库登录凭据不正确
您的 WordPress 站点使用单独的登录信息连接到其 MySQL 数据库。
数据库损坏
由于有如此多的主题、插件和用户不断删除和安装它们,有时数据库会被损坏。这可能是由于表丢失或单独损坏,或者某些信息可能被意外删除。
WordPress 安装中的文件已损坏
有时甚至可能因黑客而发生这种情况。
您的数据库服务器的问题
Web 主机端可能会出现一些问题,例如流量高峰导致数据库过载或并发连接过多而导致数据库无响应。这对于共享主机来说很常见,因为它们为同一服务器上的许多用户使用相同的资源。
流量激增
根据您使用的 Web 主机,您的服务器可能无法处理许多并发数据库连接。流量的增加可能会导致数据库出现临时问题。
如何解决“Error Establishing a Database Connection”?
在动手解决这个错误前,我们建议先备份 WordPress 站点。下面的许多建议都涉及操作数据库中的信息,因此您不想让事情变得更糟。无论您认为自己多么精通技术,在尝试修复 WordPress 网站上的问题之前,您都应该始终进行备份。
您可以使用流行的WordPress 备份插件来备份文件和数据库。如果你是自己购买国外VPS使用宝塔面板搭建的,备份数据库相当的方便,直接在宝塔面板管理界面就可以完成备份操作。或者您可以使用 phpMyAdmin 手动备份 MySQL 数据库。成功备份后,就可以解决数据库连接问题了。
1. 检查您的数据库登录凭据
首先要做的是检查以确保您的数据库登录凭据正确。这是迄今为止出现“建立数据库连接错误”消息的最常见原因。尤其是在人们迁移到新的托管提供商之后。 WordPress 站点的连接详细信息存储在 wp-config.php 文件中,该文件通常位于 WordPress 站点的根目录下。
它包含四条重要信息,这些信息必须正确才能成功进行连接。
数据库名称
// 数据库设置 // wp站点数据库名称 define('DB_NAME', 'www.jhrs.com');
MySQL数据库用户名
// MySQL database username define('DB_USER', 'www.jhrs.com');
MySQL数据库密码
// MySQL database password define('DB_PASSWORD', 'xxxxxxxxx');
MySQL 主机名(服务器)
// MySQL hostname define('DB_HOST', 'localhost');
如果你使用的宝塔面板管理你的服务器,也可以直接在后台编辑此wp-config.php 文件。下面是在宝塔后台打开后的样子的示例。
如何测试数据库凭据是否正确?
如果你使用的是国外虚拟主机建站,大多数支持在cPanel 中检查数据库凭据,不过你是自己使用宝塔面板搭建的话,则需要自己完成了,这里准备了一个现成的检查代码,复制下来,保存为checkdb.php 即可,然后输入你的域名,如 https://jhrs.com/checkdb.php,正常访问表示就ok啦。
<?php $test = mysqli_connect('localhost', 'db_user', 'db_password'); if (!$test) { die('MySQL Error: ' . mysqli_error()); } echo 'jhrs.com友情提示:数据库连接上啦!'; mysqli_close($testConnection);
最后记得确保wp-config.php 文件中的数据库用户名,密码信息与上面测试文件中的一样,这样就可以确保网站的数据库连接参数是正确的。
修复损坏的 WordPress 文件
您可能会看到“建立数据库连接时出错”消息的以下可能原因是您的 WordPress 核心文件已损坏。无论这是由于通过 FTP 传输文件的问题、黑客访问您的网站还是您的主机问题引起的,您都可以快速解决此问题。但是,我们建议您在尝试此操作之前先备份您的网站。
您将替换您网站上的 WordPress 核心版本。您无需触及插件、主题或媒体,只需触及 WordPress 安装本身。
但是,您可能会丢失添加到 .htaccess 或 wp-config.php 等文件中的任何更改或自定义代码。如果您在进行故障排除之前备份了网站,那么您将拥有这些文件的副本,以便稍后恢复。
首先,您必须从 WordPress.org 下载新的 WordPress 副本。
在您的计算机上解压下载的缩该文件。解压后删除 wp-content 文件夹和 wp-config-sample.php 文件。
然后通过 SFTP 将剩余文件上传到您的站点,覆盖现有文件,另外宝塔管理服务器的话,也可以在宝塔面板后台直接上传。这将替换所有有问题的文件,并确保您拥有干净且未损坏的新文件。建议 执行此操作后清除浏览器缓存。然后检查您的 WordPress 网站,看看错误是否仍然存在。
提示:如果是数据库损坏,则需要先修复数据库,可以参见下面这篇文章处理。
写在最后
正如您所看到的,有很多方法可以修复 WordPress 中的“建立数据库连接错误”。最常见的是 wp-config.php 文件中的无效凭据。检查以确保这些正确是最好的起点。您最不希望网站发生的就是停机。
希望上述步骤之一可以帮助您恢复并运行您的网站。请记住,如果需要,您随时可以从备份恢复您的站点。