连接Docker容器的mysql出现:ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loade
1.报错描述
使用navicat连接工具,连接报错如下:
2.报错原因说明
由于新版本的MySQL新特性导致的,通过查询mysql
mysql> select Host,User,plugin from mysql.user;
查询结果如上,在老版本里,一般使用加密方式为mysql_native_password,因为认证方式改变导致的。
3.解决方案
1.进入容器
docker exec -it 容器名称 /bin/bash
2.登录数据库
mysql -u root -p
3.修改加密方式
执行命令,将用户的加密方式改为mysql_native_password,密码为root。执行命令flush privileges;使权限配置项立即生效。
alter user ‘root’@’%’ identified with mysql_native_password by ‘root’;
flush privileges;
4.结果