Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 向用户授予权限并不’;我不能在MySQL中工作_Php_Mysql - Fatal编程技术网

Php 向用户授予权限并不’;我不能在MySQL中工作

Php 向用户授予权限并不’;我不能在MySQL中工作,php,mysql,Php,Mysql,这是我在监狱里执行的 我执行了以下命令: CREATE USER root IDENTIFIED BY PASSWORD ''; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; 我在尝试连接时得到以下信息: 连接失败:用户“root”@“localhost”的SQLSTATE[HY000][1045]访问被拒绝(使用密码:否) 请注意,上面的连接以前是有效的。现在不行了(因为我切换到XAMPP)。您确定root用户没有

这是我在监狱里执行的

我执行了以下命令:

CREATE USER root IDENTIFIED BY PASSWORD '';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
我在尝试连接时得到以下信息:

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


请注意,上面的连接以前是有效的。现在不行了(因为我切换到XAMPP)。

您确定root用户没有密码吗?您是否已安装以检查此问题

如果问题不在于特权,那么可能是端口。MySQL的默认端口是3306,因此如果您的MySQL端口现在是82,您必须在连接中添加端口。

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

  • 帐户名的语法为“用户名”@“主机名”
因此,类似于
创建由密码“”标识的用户“root”@“localhost”
在您的情况下,
创建用户“root”@“
但我确实不建议对root用户使用
“%”

更改权限后是否刷新权限


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

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

我再次测试了它,结果是:host=127.0.0.1。它适用于number,但不适用于localhost。但是,当我访问localhost时,我会这样访问它:localhost:82。这可能是它不起作用的原因吗..因为我没有包括端口号..当我用ip接近它时,它起作用了吗?为什么要创建用户
根用户
?它应该始终存在,因此不需要创建它。我认为这与端口有关。我认为我应该连接localhost:82,而不是localhost localhost,它与127.0.0.1相似,因此,如果您的连接使用127.0.0.1就足够了。另外,如果没有帮助,请检查批准的答案。这些答案包含了我们试图通过PDO连接到DB时使用的不同DSN的有用信息
$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();
}