【问题标题】:wordpress and php mysql database connection issuewordpress 和 php mysql 数据库连接问题
【发布时间】:2013-05-08 00:32:40
【问题描述】:

我正在尝试在 fedora 17 上将 wordpress 安装到我的系统中。数据库连接出现错误:

建立数据库连接时出错

我已完成以下故障排除。

  1. 我已尝试使用命令提示符连接具有相同凭据的 mysql 数据库,并且连接成功。

  2. 比我尝试使用以下代码直接使用 php 连接到数据库。

    <?php
    $db = @mysql_connect('localhost', 'wpuser', 'wppassword');
    if (!$db) echo "connection failed --". mysql_error();
    else echo "connection succeeded";
    ?>
    

我收到错误:

连接失败--没有这样的文件或目录

比我用 apache2 和 mysql 重新编译 php 比相同的代码抛出错误:

连接失败--服务器请求客户端未知的身份验证方法

mysql conf文件如下。

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

我也在 php.ini 设置了

mysql.default_socket = /var/lib/mysql/mysql.sock

请让我知道如何继续。我仍然收到同样的 wordpress 错误。

【问题讨论】:

  • mysql_connect 之前的 @ 会抑制错误消息,这可能有助于弄清楚这是什么。
  • 尝试 127.0.0.1 而不是 localhost
  • @JPR- 我已经试过了。问题仍然存在。

标签: php wordpress


【解决方案1】:

第一个错误

没有这样的文件或目录

是因为mysqld.sock文件的路径不对。这可能已经修复,因为您稍后会指出您收到的另一个错误是

服务器请求客户端未知的身份验证方法

这个错误已经解释here on ServerFault

MySQL 在(我认为)4.1 版中引入了更长的密码哈希,并且 您的服务器可能仍在使用它们(检查 16 字节密码 你的 mysql 用户表中的哈希值)。较新的版本使用较长的密码 哈希。您的服务器支持两者,但您的客户端 (php) 似乎 仅支持此版本(及更高版本)中的新版本。

如果可能,请使用第一行链接中的解决方案, 并使用新的哈希再次设置您的密码,但请注意,如果您是 使用依赖旧密码的任何其他(旧)客户端, 兼容性可能会中断。也尝试寻找旧密码支持 用于 PHP 中的 MySQL,但我不确定。

【讨论】:

  • 我用的是Mysql5.5。我认为以上不适用于它。如果我错了,请纠正我。
  • @user2310989 请同时检查声明 您的客户端 (php) 似乎仅支持此版本(及更高版本)中的新客户端。 尝试运行 phpinfo() 并确认您的 PHP 安装。
  • php 运行良好。如果您想要一些具体的细节,请告诉我。
  • 问题已解决——我在 mysql 有以下两个用户。当我使用测试用户而不是 wpuser 问题得到解决。 |本地主机 |测试 | *676243218923905CF94CB52A3C9D3EB30CE8E20D | |本地主机 | wpuser | 43d23b2c1c6a90cc | +-----------+--------+---------------------------- -------------- 是的,hjpotter92 建议的解决方案似乎是正确的。
猜你喜欢
  • 2016-12-08
  • 2021-08-23
  • 1970-01-01
  • 2015-06-14
  • 2019-09-13
  • 1970-01-01
  • 1970-01-01
  • 2015-01-21
  • 2015-04-04
相关资源
最近更新 更多