蜗牛君的NoteBook

1.环境说明

宿主机:win10

docker:Version 18.06.1-ce-win73 (19507)

mysql:8.x(docker store中最新版)

2.报错描述

使用navicat连接工具,连接报错如下:

img

3.报错原因说明

由于新版本的MySQL新特性导致的,通过查询mysql

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

查询结果
+———–+——————+———————–+
| Host | User | plugin |
+———–+——————+———————–+
| % | root | caching_sha2_password |
| % | vuluser | caching_sha2_password |

查询结果如上,在老版本里,一般使用加密方式为mysql_native_password,因为认证方式改变导致的。

4.修改方案

修改加密方式为老版本加密方式。

5.修改

5.1 查看docker容器ID

docker ps -a

5.2 docker exec :在运行的容器中执行命令

img

1
docker exec -it 236b2624632d bash   # 进入到自己的容器中操作

5.3 连接mysql

1
mysql -u root -p

5.4 修改加密方式

执行命令,将用户的加密方式改为mysql_native_password,密码为root。

1
alter user 'root'@'%' identified with mysql_native_password by 'admin';

5.5 执行命令flush privileges使权限配置项立即生效

1
flush privileges;

img

1571741860100


 Comments