【问题标题】:Wordpress - Error establishing a database connectionWordpress - 建立数据库连接时出错
【发布时间】:2011-09-10 17:37:01
【问题描述】:

在我的基于 Wordpress 的网站上没有任何改变,几天前它只是停止运行。在此之前,我从用于监控此站点的服务中收到的“站点关闭”消息数量多于正常数量。

现在,我在尝试访问该站点时得到的只是标题中列出的错误。页面上仅显示消息“建立数据库连接时出错” - 没有其他内容。

我有其他博客站点在同一台服务器上运行,它们都仍在运行。我可以用 phpmyadmin 访问这个网站的数据库没有问题。我还通过 phpmyadmin 对 wp-options 表进行了“修复”(推荐在另一个站点上)。

最后,我创建了一个新的 php 文件,它与数据库建立连接,然后在连接时从数据库中回显数据。我将所有数据库连接数据直接从该站点的 wp-config 文件传输到这个新的 php 文件,因此它使用完全相同的信息进行连接。

与此文件连接没有问题。

但是,如果我清除此文件,然后只在其中放入以下代码:

    <?php
    require_once '/home/bestsynt/public_html/wp-config.php';
global $current_user;
get_currentuserinfo();
$level = $current_user->user_level;
echo $level;
    ?>

我收到完全相同的错误消息。

由于这是一个流量相对较高的网站,并且已经关闭了两天。由于问题似乎不在“服务器/主机”端,因此我不太可能在该端获得太多支持。这与 Wordpress 本身有关,但我不知道是什么。

【问题讨论】:

  • 服务器错误日志中有什么内容?是否可能内存不足?
  • 但这不会影响我在同一台服务器上工作的其他网站吗?我刚刚检查了我的 Apache 和 Cpanel 错误日志,并没有看到任何似乎适用的内容。也尝试查看mysqld日志,但没有条目。
  • 另外,我的服务器状态的所有参数似乎都处于非常好的状态。资源使用似乎是名义上的。
  • 还修复了整个wordpress数据库,没有运气。
  • 嗯,首先,你能禁用所有插件,看看是否有任何变化吗? (如有必要,使用hacky methods in the database 或核对 wp-plugins 目录的内容。)显然,在开始摆弄之前,请确保您已备份好数据库和文件...

标签: mysql database wordpress connection


【解决方案1】:

导致这种情况的另一种情况是由于未设置本机密码的 Mysql8 用户。你可能需要做一些简单的事情

ALTER USER 'jeffrey'@'localhost'
  IDENTIFIED WITH mysql_native_password
             BY 'password';

这将解决问题。刚刚安装了新的 WP 就遇到了它,无法弄清楚为什么凭据看起来正确,但 WP 会一直说它无法连接。终于启用调试:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', true );

这显示了正在发生的实际错误:“服务器请求客户端未知的身份验证方法”。

希望这对某人有所帮助!

【讨论】:

  • 哇!!你节省了我的时间@cybertoast
【解决方案2】:

在数据库主机中添加 127.0.0.7:3307 端口,而不是 localhost 和 MySQL 端口 3307 或您的 MySQL 端口号。数据库主机之后

【讨论】:

  • 非常感谢,经过这么多搜索发现这个答案终于奏效了!
【解决方案3】:

事实证明,这是我的 wordpress 数据库中的 wp-options 表中缺少的条目。

以下通过 Phpmyadmin 中的 SQL 选项卡的插入命令问题解决了该问题:

INSERT INTO `wp_options` VALUES (1,0,'siteurl','http://bestsyntheticoil.com/','yes')

由于我没有在该数据库中工作,因此不确定该记录是如何被删除的。但是,至少它现在已经修复了。

【讨论】:

    【解决方案4】:

    安装 Wordpress 的大多数问题与“建立数据库连接时出错”有关,是由于 wp-config.php 中的错误配置引起的

    define('WP_HOME','http://www.mysite.com');
    define('WP_SITEURL','http://www.mysite.come');
    define('DB_NAME', 'mydbname');
    /** MySQL database username */
    define('DB_USER', 'dbusername');
    /** MySQL database password */
    define('DB_PASSWORD', 'dbpassword');
    /** MySQL hostname */
    define('DB_HOST', 'localhost'); //If you are not using default port number
    
    • 我们必须确保用户“dbusername”对数据库“mydbname”拥有正确的权限
    • 本地主机需要或不设置端口。
    • 默认尝试使用拥有所有权限的用户和密码“root”:

      define('DB_USER', 'root');

      define('DB_PASSWORD', 'root');

    在此之前,您需要确保:

    • 为 Wordpress 安装创建一个数据库。
    • 拥有被授予访问该数据库权限的数据库用户和密码。

    【讨论】:

      【解决方案5】:

      转到 WordPress 文件夹打开配置文件 在 DB NAME 中更改您的数据库名称,用户名 DB_USER,密码 DB_PASSWORD DB_HOST 或

      中的 db 主机
      define('WP_ALLOW_REPAIR', true);
      

      将此添加到您的配置文件中

      【讨论】:

        【解决方案6】:

        您需要做的第一件事是打开诊断,这样您就可以准确地看到错误是什么。在您的 wp-config.php 文件中打开 WP_DEBUG...

        define( 'WP_DEBUG', true );
        

        然后重新启动您的服务器。您现在将看到一条详细的错误消息,有助于识别和解决问题。

        【讨论】:

          猜你喜欢
          • 2021-05-28
          • 1970-01-01
          • 2015-08-11
          • 2012-12-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-07-05
          • 2017-07-13
          相关资源
          最近更新 更多