问题描述:
使用Navicat Premium 连接MySQL时出现如下错误:
问题原因:
这种情况是因为MySQL之前加密规则为mysql_native_password,在MySQL 8.0以后的加密规则为caching_sha2_password,所以需要修改登陆的用户加密规则并刷新。
解决方法:
- win+R快捷键运行cmd,切换到mysql安装目录下的bin文件夹下
mysql> cd C:\Program Files\MySQL\MySQL Server 8.0\bin
- 登陆
mysql> mysql -u root -p;
- 选择数据库
mysql> use mysql;
- 更改加密方式和更新用户密码
-- 远程连接请将'localhost'换成'%'
mysql> alter user 'root'@ 'localhost' identified by 'password' password expire never; #更改加密方式
mysql> alter user 'root'@ 'localhost' identified with mysql_native_password by 'password'; #更新用户密码
- 刷新权限
mysql> flush privileges;