1 原因:
mysql8+版本的默认插件为caching_sha2_password,而低版本的Navicat的验证插件为mysql_native_password,使用低版本的Navicat连接mysql8.x版本是会出现上述验证插件错误的问题。
2 问题呈现:
如图,两种插件的密码迥然不同
3 解决办法:
直接使用一下语句更改用户的插件验证方式:
ALTER USER '用户名'@'主机ip' IDENTIFIED WITH mysql_native_password BY '访问密码';
ps: 主机ip可以使用%代替,表示所有主机
但需要注意的是使用该方法修改验证方式后会到导致原密码不可用,等同于修改账号密码;如果原密码大范围使用,建议新建账号在进行上述操作:
创建账号: CREATE USER '用户名'@'主机ip' IDENTIFIED BY '访问密码';
账号授权: grant all privileges on *.* to '用户名'@'主机ip' with grant option;
刷新权限: flush privileges;