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

Original: https://www.cnblogs.com/janes/p/14435794.html
Author: 陈敬(Cathy)
Title: Navicat连接docker mysql出错
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/8313/
转载文章受原作者版权保护。转载请注明原作者出处!