0

我在phpMyAdmin中执行了这个。

我执行了这些行:

CREATE USER root IDENTIFIED BY PASSWORD '';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

我在尝试连接时得到这个:

连接失败:SQLSTATE [HY000] [1045] 用户'root'@'localhost'的访问被拒绝(使用密码:否)

$dsn = 'mysql:dbname=one';
$user = 'root';
$password = '';
$pdo = "Not set";
try{
    $pdo=new PDO($dsn, $user, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
}
catch(Exception $ex){
    echo "Connect failed: " . $ex->getMessage();
}

请注意,上面的连接曾经可以工作..现在不行(因为我切换到 XAMPP)。

4

4 回答 4

1

你确定root用户没有密码吗?您是否 安装了PhpMyAdmin来检查这个?

如果问题不是特权,那么它可能是端口。MySQL 的默认端口是 3306,所以如果你的 MySQL 端口现在是 82,你必须在连接中添加端口。

于 2012-12-12T14:35:12.087 回答
0

请检查创建用户规范,似乎您应该使用另一种语法作为帐户名称

  • 帐户名称的语法是 'user_name'@'host_name'。

所以,像 CREATE USER 'root'@'localhost' IDENTIFIED BY PASSWORD '';. 在你的情况下CREATE USER 'root'@'%';,但我真的不建议使用'%'root 用户。

于 2012-12-12T14:37:43.547 回答
0

更改权限后是否刷新权限?

您应该执行FLUSH PRIVILEGES;以告诉服务器重新加载授权表。

于 2012-12-12T14:39:11.733 回答
0

主机%不适用于localhost. 您需要单独授予 localhost 的权限。

于 2012-12-12T14:50:43.953 回答