连接MySQL报错{"Authentication to host 'PC10103' for user 'root' using method 'sha256_password' failed with message: Access denied for user 'root'@'PC10103' (using password: YES)"}
连接MySQL报错{"Authentication to host 'PC10103' for user 'root' using method 'sha256_password' failed with message: Access denied for user 'root'@'PC10103' (using password: YES)"}
先在MySQL中执行如下查询
SELECT * FROM mysql.user where user ='root';
在MySQL的mysql.user
表中,host
列用于指定用户可以从哪个主机连接到MySQL服务器。当host
列的值设置为%
时,它表示该用户可以从任何主机连接到MySQL服务器。这是一个通配符,类似于正则表达式中的.
,可以匹配任何值。
将host
设置为%
意味着该用户账户具有广泛的访问权限,可以从网络上的任何位置进行连接。这在某些情况下可能是必要的,但也带来了潜在的安全风险。
为了增强安全性,你可以将host
列设置为特定的IP地址或主机名,以限制用户只能从特定的位置进行连接。这样,你可以更精确地控制哪些主机可以访问MySQL服务器,并减少潜在的安全风险。
查询上述语句后你可以看到,root账户默认host是:localhost,将它改为你的计算机名,如上述报错中的”PC10103“,或者改为”%“通配符,重启MySQL服务后即可成功使用密码连接。