连接Docker容器的mysql出现:ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loade

1.报错描述
使用navicat连接工具,连接报错如下:
连接Docker容器的mysql出现:ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loade_第1张图片
2.报错原因说明
由于新版本的MySQL新特性导致的,通过查询mysql

mysql> select Host,User,plugin from mysql.user;

连接Docker容器的mysql出现:ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loade_第2张图片
查询结果如上,在老版本里,一般使用加密方式为mysql_native_password,因为认证方式改变导致的。

3.解决方案

1.进入容器

docker exec -it 容器名称 /bin/bash

2.登录数据库

mysql -u root -p
连接Docker容器的mysql出现:ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loade_第3张图片

3.修改加密方式

执行命令,将用户的加密方式改为mysql_native_password,密码为root。执行命令flush privileges;使权限配置项立即生效。

alter user ‘root’@’%’ identified with mysql_native_password by ‘root’;
flush privileges;
在这里插入图片描述

4.结果
连接Docker容器的mysql出现:ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loade_第4张图片

你可能感兴趣的:(Docker,Docker,Mysql)