Navicat Premium 12连接MySQL数据库时出现Authentication plugin ‘caching_sha2_password’ cannot be loaded的错误
原因
由于mysql8.0默认的密码加密方式是 caching_sha2_password,而目前大多数人使用的navicat版本是不支持的
window下解决方法如下
- 管理员权限运行命令提示符,登陆MySQL
mysql -u root -p
- 修改账户密码加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
- 更新用户密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
- 刷新权限并重置密码
FLUSH PRIVILEGES;
- 再重置下密码
alter user 'root'@'localhost' identified by '123456';
docker下解决方法如下
- 进入该docker容器
docker exec -it 容器ID或容器名 /bin/bash
- 把root用户的密码改成 mysql_native_password 模式
mysql -u root -p
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
再次打开Navicat Premium 12连接MySQL数据库就能连接成功了!