解决mysql8.0创建用户后再navicat中无法连接问题,错误代码1251

一、连接出错场景

这个错误是由mysql8.0创建密码时所采用的密码策略所导致的,mysql在创建用户时默认使用 caching_sha2_password 策略,而这种方式在navicat中是无法连接的

 二、解决办法

         mysql8.0以前的版本可以使用 mysql_native_password 策略,所以可以将caching_sha2_password 修改为mysql_native_password

        执行命令:alter user root@'%' identified with mysql_native_password;

       

        可是修改后在连接时出现1045错误

       

       原因在于执行alter user root@'%' identified with mysql_native_password;时,root@'%'用户的密码被重新初始化,所以需要对用户密码进行修改

alter user root@'%' identified with mysql_native_password by '123456';

       如果继续出现1251错误,可能是同名不同主机的用户存在权限叠加问题,可以执行 drop user root@'localhost';把出错用户删掉。

发布了28 篇原创文章 · 获赞 5 · 访问量 1185

猜你喜欢

转载自blog.csdn.net/weixin_40391011/article/details/103967170