连接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服务后即可成功使用密码连接。

 

posted @ 2023-12-14 16:49  芈璐  阅读(186)  评论(0编辑  收藏  举报