• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
敬YES
Now Or Never
博客园    首页       联系   管理    订阅  订阅
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、连接成功

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

posted on 2021-02-23 14:24  敬YES  阅读(716)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3