怎样解决wordpress数据库链接错误

假如你经常上网的话,你可能会遇到一些网页链接错误问题。其中很多是数据库链接错误,

数据库链接错误由很多原因导致,作为一个wordpress新手,遇到这种情况常会感到不知所措,尤其是你没有改变任何程序发生这种错误。我们昨天遇到了这种问题在我们网站,我们花费了20多分钟去找问题并解决他。当我们研究去寻找可能问题时,我们发现网上没有一篇好的文章全面的介绍,解决这个问题。这也是我写这篇文章的原因。接下来,我们将会有一个详细的介绍如何解决wordpress数据库链接错误。

注意:在我们进行任何数据库改变之前,确保做好备份。

为什么会出现数据库链接错误

数据库链接错误由多种原因导致,可能是数据库登录凭据错误或已更改,可能是

数据库服务器没有相应,也可能是数据库损坏。根据我们的经验,大多数错误

是由于服务器错误导致的,也可能由少数其他原因,让我们看如何解决这些问题。

首先要确保网站的前台和后台都出现相同的错误,网站后台指通过wp-admin进入,假如前后台打开都出现相同错误信息“Error establishing a database connection” ,然后我们进入下一步,假如你在登陆wp-admin后台出现不同错误,诸如“One or more database tables are unavailable. The database may need to be repaired” ,那么你需要修复你的数据库。

您可以通过在wp-config.php文件中添加以下行来实现这一点。就在’That’s all,stop editing’之前添加它!Happy blogging行wp-config.php。

1 define(“wp_allow_repair”,true);

完成后,您可以通过访问http://www.yoursite.com/wp-admin/maint/repair.php 查看设置。

记住,设置此定义时,用户不需要登录即可访问此功能。这是因为它的主要目的是修复损坏的数据库,当数据库损坏时,用户通常无法登录。因此,一旦修复和优化了数据库,请确保从wp-config.php中删除它。

如果此修复没有解决问题,或者运行修复时遇到问题,请继续阅读本文,你可能会找到另一个有效的解决方案。

检查wp配置文件

wp-config.php可能是整个wordpress安装中最重要的一个文件。这是你指定WordPress连接数据库的详细信息的地方。如果更改了根密码或数据库用户密码,则还需要更改此文件。首先,你应该始终检查wp-config.php文件中的所有内容是否相同。

1234define(‘DB_NAME’, ‘database-name’);define(‘DB_USER’, ‘database-username’);define(‘DB_PASSWORD’, ‘database-password’);define(‘DB_HOST’, ‘localhost’);

记住你的DB_Host值不都是localhost,取决于主机类型,有所不同,像一些流行的主机HostGatorBlueHostSiteGround,值都是localhost.

一些人建议用IP替换localhost来解决他们的问题。在本地服务器环境中运行WordPress时,通常会看到这种问题。例如,在MAMP上,更改为IP时的DB_Host值似乎可以工作。

1define(‘DB_HOST’, ‘127.0.0.1:8889’);

网络托管服务的IP将有所不同。

如果此文件中的所有内容都是正确的(请确保检查是否有错别字),那么可以确定地说服务器端出了问题。

检查您的web主机(mysql服务器)

当您的站点遭遇大流量时,你经常会注意到建立数据库连接时的这个错误。基本上,主机服务器无法处理负载(特别是在共享主机上)。你的站点将变得非常慢,有些用户甚至会输出错误。因此,最好的做法是联系主机服务商,询问他们您的MySQL服务器是否响应。

对于那些想测试MySQLServer是否在自己运行的用户,您可以做一些事情。测试同一服务器上的其他站点以查看它们是否有问题。如果他们也得到同样的错误,那么很明显你的MySQL服务器有问题。如果你在同一个托管帐户上没有任何其他站点,只需转到您的CPanel并尝试访问phpmyadmin并连接数据库。如果你可以连接,那么我们需要验证你的数据库用户是否具有足够的权限。创建一个名为testconnection.php的新文件,并在其中粘贴以下代码:

12345678<?php$link = mysqli_connect(‘localhost’, ‘username’, ‘password’);if (!$link) {die(‘Could not connect: ‘ . mysqli_error());}echo ‘Connected successfully’;mysqli_close($link);?>

确保替换用户名和密码。如果脚本连接成功,则意味着您的用户拥有足够的权限,并且还有其他问题。返回wp配置文件以确保所有内容都正确(重新扫描拼写错误)。

如果您无法通过phpmyadmin连接到数据库,那么您就知道它与您的服务器有关。这并不一定意味着您的MySQL服务器已关闭。这可能意味着您的用户没有足够的权限。

在我们的例子中,我们的mysql服务器正在运行。除了wp初学者外,服务器上的所有其他站点都工作正常。当我们尝试使用phpmyadmin时,最终得到下面错误:

#1045 – Access denied for user ‘foo’@’%’ (using password: YES)

我们联系了主机商,他们的技术支持很快发现了问题。不知何故,我们的用户权限被重置了。不知道是怎么回事,但很明显这就是原因。他们返回并恢复了权限,我们可以使网站恢复正常状态。

因此,如果您在连接到phpmyadmin或通过testconnection.php结果时遇到拒绝访问错误,那么您应该立即联系您的主机提供商,让他们修复它。

他人提供的解决方案

重要的是要注意,这些可能对您不起作用。如果出现任何问题,请自行承担风险并确保有足够的备份。

一wordpress站长说他的客户得到了需要修复数据库的错误。即使在修复了数据库之后,错误也没有消失。他尝试了各种方法,最后,问题是网站的网址。很明显,这一变化导致了错误的持续存在。他通过访问phpmyadmin来运行SQL查询:

1UPDATE wp_options SET option_value=’YOUR_SITE_URL’ WHERE option_name=’siteurl’

请确保将您的_站点_URL替换为实际的URL示例:https://www.wpbeginner.com。如果更改了默认的wordpress数据库前缀,wp_选项将不同。

这似乎解决了他和其他一些人对他的帖子发表评论的问题。

他建议可以用testconnection.php连接数据库,所以他将wp-config.php用户改为根用户。Wordpress开始工作得很好。然后他将设置恢复到数据库用户,并继续工作。他不知道出了什么问题,但断定是打字错误。

建议他们删除wp_选项表中活动插件的内容,并编辑最近编辑的内容。基本上,这似乎解决了问题。请他们在这里给出完整的答复。

我们在许多资料中看到,用户只需上传一份新的WordPress副本,它就修复了错误。

这真是一个令人沮丧的错误。你遭遇过什么样错误并解决他,欢迎留言补充,让其他人不必浪费太多时间来寻找解决方案。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注