相信很多新手朋友都遇到过WordPress提示“建立数据库连接时出错”这个错误,英文为“Error establishing a database connection”:今天我们就来讲一下这个错误一般是什么原因导致,以及如何进行修复。“建立数据库连接时出错 ”是什么意思?首先,我们需要了WP是如何显示网站的,这将让…

相信很多新手朋友都遇到过WordPress提示“建立数据库连接时出错”这个错误,英文为“Error establishing a database connection”:

解决WordPress建立数据库连接时出错

今天我们就来讲一下这个错误一般是什么原因导致,以及如何进行修复。

“建立数据库连接时出错 ”是什么意思?

首先,我们需要了解WP是如何显示网站的,这将让我们清楚地了解为什么这个错误数据库是如此具有破坏性。WordPress系统站点的所有数据都由MySQL(或其他分支)数据库存储,然后使用PHP语言来检索和存储来自该数据库的信息。

通常,无论何时加载您网站的任何页面,它都是即时创建的。 需要使用PHP代码 访问MySQL数据库以检索构建页面所需的所有数据。比如通过不同的PHP查询函数获取文章标题、作者姓名、发布日期等。

“建立数据库错误时出错”意味着由于某种原因,您的站点PHP代码无法与MySQL数据库连接以获取显示该页面所需的数据。

数据库连接出错的原因和处理方案

数据库连接出错,一般是以下原因之一造成的:

1、数据库连接信息错误

熟悉WordPress的朋友应该知道,在WordPress根目录下有一个名为 wp-config.php 的文件,里面包含了数据库连接信息:

解决WordPress建立数据库连接时出错

所以,当我们遇到“建立数据库连接时出错”时,我们应该首先检查这个wp-config.php文件的数据库连接信息是否正确,尤其是当我们更换主机或数据库的时候。如果不正确,就根据实际情况去修正。

如果你不清楚新主机的数据库连接信息,建议联系主机商咨询。

2、MySQL数据库停掉了

由于某些原因,可能会导致MySQL数据库进程停掉,比如内存不够、PHP查询语句错误等,这个时候, 如果已经确认wp-config.php的数据库连接信息是正确的,那我们就应该去检查下MySQL是否停掉了。如果是的,那就启动看下是否可以恢复。

导致MySQL停掉的原因可能很多,也比较复杂,在此我们不进行讨论。如果MySQL经常无故停掉,建议找专业的运维人员去帮忙处理。

3、数据库表损坏

如果已经确认wp-config.php的数据库连接信息是正确,并且MySQl数据库运行正常,那我们就应该去检查数据库是否有数据表损坏了。

由于插件、主题的不断变化,或者在WordPress网站中安装了安装编码错误或不良的插件,或者文章数据量很大,这些都有可能导致数据库损坏。

要查找数据库哪个表是否损坏,一般我们可以登录phpmyadmin等可视化数据库管理界面去查看,如果看到某个表的大小明显和实际数据不符,或者有提示“正在使用中”(貌似是这句话,不是记得很清楚了),那就可以先下载备份一下数据库,然后选中表,使用phpMyAdmin等内置的修复功能去修复。

此外,我们可以开启WordPress内置的数据库修复功能进行修复,这个修复功能默认是禁用的,我们需要在 wp-config.php 文件的第二行后添加下面的代码去开启:

define( 'WP_ALLOW_REPAIR', true );

添加好以后,访问你的网站任何一个页面,WordPress就会自动尝试去修复数据库。请注意:任何人都可以访问到数据库修复页面,所以一旦你执行完修复了以后,请务必记得删除上面添加的代码!!

4、某些PHP文件损坏

如果通过上面的步骤去检查操作了,还是无法恢复正常,那我们就需要去考虑是否有PHP文件损坏了。因为PHP文件的损坏,会导致查询功能的错误,从而导致数据库出错。

至于到底哪些PHP文件损坏,这个是很难去找的,我们只能不断去尝试。大致的思路如下:

备份网站的所有文件,很重要!!!通过FTP等可以管理文件的界面,去删除 wp-content/themes/ 目录下当前使用的主题,然后看下是否可以恢复。注意必须保留一个WP默认自带的主题,然后尝试访问 /wp-admin/ 网址。删除 wp-content/plugins/ 目录下的插件,看下是否可以恢复如果还不行,删除 /wp-content/ 和 wp-config.php 以外的文件,重新到官方下载版本一致的WordPress原版,上传覆盖。

整个操作过程可能有些复杂,如果你不会,请务必找专业的运维人员操作,并且请务必做好备份!!!!!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。