docker安装mysql8.x,连接报2059错误

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013274055/article/details/83794340

1.环境说明

宿主机:win10

docker:Version 18.06.1-ce-win73 (19507)

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

 2.报错描述

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

 3.报错原因说明

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

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 :在运行的容器中执行命令

docker exec -it 236b2624632d bash

5.3 连接mysql

mysql -u root -p

5.4 修改加密方式

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

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

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

猜你喜欢

转载自blog.csdn.net/u013274055/article/details/83794340