本地MySQL安装版本较新,用Naviact连接时报错【ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password’ cannot be loaded: ÕÒ²»µ½Ö¸¶¨µÄÄ£¿é¡£.】

mysql服务本机登录无异常。登录后先验证了root用户的权限(我用的root远程登录);

查看root用户权限:show grants; 

如果没有设置权限,就要登录设置一下,

grant all PRIVILEGES on *.* to 'root'@'%' identified by 'qwer' with grant option;

以上命令具体含义可参考:https://blog.csdn.net/tjcyjd/article/details/52195883

这里有一个坑!!! 新版MYSQL(8.0之后) 将用户创建和权限赋予这两项分开来了,所以像之前版本mysql的赋权操作会报错

【.....near ‘identified by ‘password” at line 1】

所以需要将这两步分开下:

创建账户: create user ‘用户名’@’访问主机’ identified by ‘密码’;

赋予权限:grant 权限列表 on 数据库 to ‘用户名’@’访问主机’  with grant option;

赋权搞定 √

==========================================================================

以上只是赋权操作,caching_sha2_password 这个问题是设置账号时候的用户编解码格式设置不正确

查看root用户的认证格式

发现乱码,果然不对的。

解决方法:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码 

FLUSH PRIVILEGES; #刷新权限

权限刷新后,navicat上删除之前的连接,重新连接 test connection 成功!

以上是我排查小坑的过程,在这做个记录!

 

 

 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐