Navicat连接docker mysql出错
阅读原文时间:2023年09月05日阅读:5

一、启动容器

首先启动docker mysql:

docker run -itd --name mysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

然后配置Navicat连接:

报错:

Client does not support authentication protocol requested by server;consider upgrading MySQL client。

二、原因

查资料了解到,原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。我这里用的是mysql最新版,很可能是这个原因。

三、解决

1.进入docker命令行:

mysql -h localhost -u root -p

2.修改加密规则

ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;

3.更新一下用户的密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

4.刷新权限

flush privileges;

5、连接成功