你是否也遇到过这种错误提示呢?西部盒子自15年承接wordpress网站运维业务以来,遇到过很多次这个错误,如果不及时解决,不仅会影响正常的业务运行,同时也会有被搜索引擎降权的风险,客户信任感降低。下面就结合我们的运维经验来仔细分析一下出错原因以及解决方法,希望同样遇到此问题的同鞋能够得到帮助。
“建立数据库连接时出错”是什么意思?
为了让小白更好的理解,我们不会用特别专业的技术话术来描述问题!
WordPress网站通过PHP与MySQL数据库通信,来获取存储在数据库内的数据信息,用于展示在网站页面上,当PHP尝试与MySQL数据库通信连接时出现问题,我们就会在访问网站的时候看到错误提示:“建立数据库连接时出错”。
出现此错误信息,可能是多种原因导致的,我们的PHP程序读取不到MySQL数据库的信息,所以没法正常显示页面,就会导致程序执行错误。同时WordPress后台也是进不去的。
为什么会出现“建立数据库连接时出错”的错误提示?
结合西部盒子多年的WordPress运维经验,分析原因主要有以下几点:
1、无效的数据库地址、用户名、密码;
这个不言而喻,就是WordPress程序内存储的数据库连接地址或者用户名密码发生变动,导致连接不到数据库;
之前我们在给客户网站做故障修复时多次遇到该问题;
a)网站被黑,数据库连接文件(wp-config.php)或网站其他文件被篡改。
b)用户误装了不安全的主题或者插件,导致文件被篡改。
c)用户自己不小心改动了该文件。
2、数据库损坏;
这个问题时有遇到,且导致该问题的原因多种多样,无法一一概况,通常有以下几种:
a)wp_options表显示正在使用中,这个通常是由于主题或者插件往wp_options表内频繁大量的写入读取数据导致的。插件过多的站点更容易发生该情况。
b)其他表错误,或者整个数据库损坏;具体原因多种多样;不一一描述。
3、MySQL数据库服务器关闭;
通常这个问题多发于云服务器(VPS):
a)服务器磁盘空间满了,导致数据库缓存无法写入,MySQL进程终止;
b)使用了不当的MySQL配置文件,在连接数过载时数据库崩溃。
4、MySQL数据库服务器过载(超出数据库最大同时连接数);
大家都希望网站的流量巨大,不过流量巨大所需要的是更强的服务器负载能力,如果为了保证服务器安全,通常我们都会给各个程序(php / mysql)进行合理的运行资源分配,这里主要是说mysql的连接限制,每多一个连接请求就会有相应的内存、CPU消耗,所以我们通常会给mysql设置一个合理的连接限制。如果同一时间访问网站的用户量巨大,有事会超出MySQL服务器的连接限制,导致错误发生。
修复WordPress的“建立数据库连接时错误”的问题
方法一、检查数据库连接文件内的数据库连接信息是否正确:
这个是遇到此问题首先应该检查的项目,通常出现在网站迁移过程中。这也是最常见的错误。
使用文本编辑器打开网站根目录的 wp-config.php 文件,这个文件内包含了数据连接的所需信息。
- 数据库的名称(’DB_NAME’)
- 登录用户名(’DB_USER’)
- 密码(’DB_PASSWORD’)
- 数据库主机(’DB_HOST’)
检查一下内容,以确保建立正确的连接:
1 2 3 4 |
define('DB_NAME','your_database_name'); define('DB_USER','your_database_username'); define('DB_PASSWORD','your_database_password'); define('DB_HOST','your_databse_host'); |
以上信息,其中任何一条有问题,都会导致“建立数据库连接时错误”的错误。
检查WordPress外部数据库的另一种可能方案是通过PHPMyAdmin。PHPMyAdmin是一个访问和管理MySQL数据库的强大工具。
除PHPMyAdmin外还可以使用以下代码来检查你的数据库连接信息是否正确:
1 2 3 4 5 6 7 8 9 |
<?php $test Connection = mysql_connect('localhost', 'root', 'password'); if (!$testConnection) { die('错误: ' . mysql_error()); } echo '数据库连接成功!'; mysql_close($testConnection); ?> |
将以上代码内的localhost替换为你的数据库连接地址,root替换为你的数据库用户名,password替换为你的数据库密码,保存为test.php上传至网站根目录,通过 yoursite.com/test.php来访问该文件,如果现实数据库连接成功,证明我们的数据库连接信息正确,其他信息则反之。
方法二、修复损坏的数据库;
1、利用wordpess自带的修复方法修复:
转到wp-config.php文件,在底部添加如下代码:
1 |
define('WP_ALLOW_REPAIR',true); |
而后运行:通过访问www.yoursite.com/wp-admin/maint/repair.php (www.yoursite.com替换成你的网址),根据提示进行修复,修复完成后删除以上添加到wp-config.php内的代码。
2、利用PhpMyAdmin进行修复;
打开PhpMyAdmin进入WordPress网站数据,选择所有表,点选界面上的修复数据表选项,点击执行;
3、其他方法。
方法三、重新开启MySQL数据库服务;
使用虚拟主机通常不会出现这个问题,如果出现这个问题可以联系IDC(虚拟主机托管商户)进行处理,如果是云服务器或者VPS 需要进入系统进行开启,CentOS的重启数据库服务方法为:
1 |
service mysql restart |
将以上命令执行即可重启数据库服务。
方法四、修复过大流量导致的错误。
我们可能会需要流量大到服务器无法处理业务的情况,通常是因为遭遇攻击,恶意刷新或者新发布了大流量内容。处理该问题应该从服务器性能着手,如果是遭遇攻击会需要做好服务器的安全防护。
MySQL修改链接数方法
以上是我们整理的修复wordpress数据库连接错误的内容,大神请略过,这个是给小白看的,希望能通过本文得到帮助。