WordPress:快速解决“建立数据库连接时出错”

最后更新于:2023-03-21 21:56

当使用WordPress遇到“建立数据库连接时出错”,或者是Error Establishing a Database Connection 错误提示时。该怎么快速解决呢 ?

造成这个问题的原因通常是由于被访问的WordPress网站不能正常连接到SQL数据库导致的。

常见的无法连接到数据库有哪些情形呢?

一是要是因为没有正确设置数据库参数:

如果是旧版的WordPress,比如5.x的版本,页面上是有额外的提示语如:我们会使用这些信息来创建一个wp-config.php文件。 如果自动创建未能成功,不用担心,您要做的只是将数据库信息填入配置文件。您也可以在文本编辑器中打开wp-config-sample.php,填入您的信息,并将其另存为wp-config.php

也就是说此时只需要找到wordpress程序根目录下的wp-config.php,检查文件中的 前几项配置:

define( 'DB_NAME', 'myXXXX' );//数据库名称
define( 'DB_NAME', 'USERXXXX' ); //数据库连接用户名USERXXXX
define( 'DB_PASSWORD', 'xxxxxxxx' );//数据库连接密码xxxxxxxx
define( 'DB_HOST', 'localhost' );//数据库连接地址 本机为localhost

检查以上几项数据是否正常,或者修改以上内容为数据库配置;如果配置正确,那么就从下面第二种情况来排查问题。

二是数据库连接数太多时,导致连接异常

每一次刷新页面都会去请求数据库,获取对应页面展示的内容数据。当用户过于频繁,比如同一用户不停请求或者不同用户同时请求访问网站,每多一个访问进程,CPU就给网站分配一个线程,同时占用相应内存,当过量的请求涌入服务器,就会造成网站卡顿反应延迟,甚至部分程序崩溃宕机。

此时,需要及时检查数据库是否正常运行。最简单的办法,通过连接数据库的工具,比如使用phpmyadmin工具,如果能正常打开操作,那么可以认为数据库服务是正常运行着。否则,说明数据库已经终止运行了,需要再次启动数据库运行即可。
当然也可以通过指令语言来查看状态。

对于数据库连接异常,还有一个不容忽视的原因,就是遭遇大流量攻击,导致被攻击的网站拒绝服务(DDoS)
那么如何能第一时间获取到网站的异常信息呢。有个不错的解决办法,就是在建立一个错误通知功能。
当有错误页面的请求时,把错误内容以邮件形式发送到管理员邮件。
比如实现如下伪代码:
 
  header('HTTP/1.1 503 Service Temporarily Unavailable');
  header('Status: 503 Service Temporarily Unavailable');
  header('Retry-After: 600');
  mail("admin@shannote.com", "Database Error", "建立数据库连接错误", "From: Db Error Watching");
创建于2023-03-21 21:45 12 阅读