我在phpmyadmin中执行了这个。
我执行了那些:
CREATE USER root IDENTIFIED BY PASSWORD '';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
尝试连接时我得到了这个:
连接失败:SQLSTATE [HY000] [1045]用户'root'@'localhost'拒绝访问(使用密码:NO)
$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)
答案 0 :(得分:1)
您确定root用户没有密码吗?你安装phpmyadmin来检查这个吗?
如果问题不是特权,那么它可能是端口。 mysql的默认端口是3306,所以如果你的mysql端口现在是82,你必须在连接中添加端口。
答案 1 :(得分:0)
请检查create user specification,您似乎应该使用帐户名称的其他语法
所以,像CREATE USER 'root'@'localhost' IDENTIFIED BY PASSWORD '';
之类的东西。
在你的情况CREATE USER 'root'@'%';
但我真的不建议对root用户使用'%'
。
答案 2 :(得分:0)
更改权限后是否刷新权限?
您应该执行FLUSH PRIVILEGES;
以告知服务器重新加载授权表。
答案 3 :(得分:0)
主机%
不适用于localhost
,您需要单独为localhost授予大权限