注:原因为MySql 8.0.11 换了新的身份验证插件(caching_sha2_password), 原来的身份验证插件为(mysql_native_password)。而客户端工具Navicat Premium12 中找不到新的身份验证插件(caching_sha2_password),对此,我们将mysql用户使用的 登录密码加密规则 还原成 mysql_native_password,即可登陆成功。
1、先登录mysql
mysql -u root -p
2、进入mysql数据库
mysql> use mysql;
3、查看user及host
mysql> select user,host from user;
user:root ;host:% 表示全部IP都可以访问(外部可以访问)
修改加密方式语法
ALTER USER 'user'@'host' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
4、修改加密方式
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
解释:我这里的user是root,host是%;password是登录密码;
5、设置密码
ALTER USER 'user'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
这里的’user’@‘host’ 同步骤4;
这里的用户的密码这里的password为你修改的新密码(如果提示密码unsafe ,就是密码格式不对,多试试)
6、刷新权限使配置生效
FLUSH PRIVILEGES;
然后去Navicat测试连接
来源地址:https://blog.csdn.net/m0_46267375/article/details/128750226