如果你是个老站长司机,肯定会遇到几次报错,建立数据库连接出错是由许多原因造成的。作为一名WordPress新手,出现这种问题是很头疼的,当它发生在自己网站上时只能束手无措。本文将介绍如何排查和修复这个错误。
注意:在进行任何数据库更改之前,请确保数据库已备份。
为什么会报错误?
简单的说,此错误是因为WordPress无法建立数据库连接而导致的。WordPress无法建立数据库连接的原因有以下几种:1、数据库登录凭据错误或已更改。2、数据库服务器无响应。3、数据库已损坏。根据经验,大多数错误是由于服务器错误而产生的,不排除也有其他因素。
/ wp-admin /是否也报错?
首先应该确认的是,站点的前端和站点的后端(wp-admin)是否都报错。如果在这两个页面上都报“建立数据库连接时出错”,请继续执行下一步。如果在wp-admin上收到不同的错误,例如“一个或多个数据库表不可用”,那么,数据库可能需要修复。
通过在wp-config.php文件中添加以下命令来执行此操作。打开wp-config.php文件,添加在“/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */”之前的任何位置就可以了。
define('WP_ALLOW_REPAIR', true);
完成后,您可以通过访问此页面查看设置:http : //www.yoursite.com/wp-admin/maint/repair.php
切记,当设置此定义时,用户不需要登录就能访问此功能。因为修复损坏的数据库时,数据库是损坏的,所以不能登录。一旦完成修复和优化,一定要从你的wp-config.php删除这行代码。
如果修复这个地方没有解决问题,或者在运行修复时遇到问题,请继续参照下面的方法。
检查WP-Config文件
WP-Config.php是整个WordPress安装中最重要的文件之一,它是配置连接数据库信息的位置。如果更改了root密码或数据库用户密码,那么还需要更改这个文件。需要确保wp-config.php文件中的所有内容都一致。
define('DB_NAME', 'database-name');define('DB_USER', 'database-username');define('DB_PASSWORD', 'database-password');define('DB_HOST', 'localhost');
如果你不是在本地测试网站,DB_Host值就不是localhost,它是根据你的主机决定的。通常情况下我们可以用IP来替换本地主机,从而解决这个问题。例如:在MAMP上,更改DB_Host值为IP就可以了。
define('DB_HOST', '127.0.0.1:8889');
如果这个文件中的所有内容都是正确的(确保代码拼写没有错误),那么可以肯定的是服务器端有问题。
检查Web主机(MySQL服务器)
通常,当站点吞没了大量流量时,会发生建立数据库连接错误。这是由于主机服务器无法处理加载(特别是共享托管时)造成的。网站会变得非常慢,造成用户无法访问。这时,你就要和主机运营商咨询MySQL服务器是否响应。
如果你想测试MySQL服务器是否正在运行,可以测试同一服务器上的其他站点,看看是否有问题。如果其他站点也报错,那就可以肯定是MySQL服务器出了问题。如果同服务器没有其他网站,你可以登录服务器控制台,尝试访问phpMyAdmin并连接数据库。如果可以连接,那么需要验证数据库用户是否有足够的权限。创建一个名为testconnection.php的新文件,并粘贴以下代码:
确保是否更换了用户名和密码。如果连接成功,说明用户有足够的权限,还有其他的错误。返回到wp-config文件,以确保所有内容都正确。
如果无法通过转到phpMyAdmin连接到数据库,那就是和服务器有关。这并不是说MySQL服务器已关闭,可能是用户没有足够的权限。因此,假设在连接到phpMyAdmin或通过testconnection.php的结果中反馈结果是“访问被拒绝”,那么就应该立即与主机运营商取得联系,让他们恢复正常。
其他解决方案
如果以上方法还不能解决报错的问题,那么你可以参考一下遇到过这类问题的站长给出的解决方法,在测试的时候,请先备份好数据库。
有些站长在遇到错误后,及时修复了错误,但是,后面又出现错误。最后发现是网站的url出了问题,你可以通过去phpMyAdmin运行SQL查询:
UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'
用实际的url链接替换YOUR_SITE_URL(比如:),如果你使用的WordPress数据库前缀不是默认的,那么wp_options就是对应更改的内容。