Navicat连接docker mysql出错

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

一、启动容器

首先启动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、连接成功

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: mysqlDocker