Navicat连接docker mysql出错

一、启动容器

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

作者:陈敬(Cathy)
出处:http://www.cnblogs.com/janes/
博客文章仅供交流学习,请勿用于商业用途。如需转载,请务必注明出处。

原文地址:https://www.cnblogs.com/janes/p/14435794.html