Docker Mysql - Navicat 连接报 1251 client does not support

docker mysql启动

在这里插入图片描述

用Navicat连接报下面的错误

在这里插入图片描述

原因:mysql 8.0 默认使用 caching_sha2_password 身份验证机制;客户端不支持新的加密方式。

解决步骤

1. 进入docker mysql内部

docker exec -it mysql01 bash # mysql01 是容器名,也可以用容器id

2. 登录mysql

mysql -u root -p

在这里插入图片描述

3. 查看用户信息

select host,user,plugin,authentication_string from mysql.user;

在这里插入图片描述
host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码

4. 修改加密方式

ALTER USER ‘root’@’%’ identified with mysql_native_password BY ‘123456’ # 123456 是mysql的密码

在这里插入图片描述

5. 再查看用户信息

在这里插入图片描述

6. 连接成功

在这里插入图片描述