navicat 远程连接docker mysql提示:Authentication plugin ‘caching_sha2_password‘ cannot be loaded

navicat 远程连接docker mysql提示:Authentication plugin 'caching_sha2_password' cannot be loaded


因工作中使用mysql进行数据测试,想到利用docker启动mysql服务更加方便、快捷,更不会影响服务器上其它服务的运行,所以使用docker pull mysql 进行服务启动,结果在运行后发现,mysql8默认插件不支持navicat连接,为了记录下次使用时再次遇到这个问题,记录下解决方式。

1、docker启动mysql服务

hadoop@ubuntu:~$ sudo docker pull mysql
hadoop@ubuntu:~$ sudo docker run -d -p 3306:3306 -v /home/hadoop/mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql --restart always mysql

​ 以上命令执行后,启动了mysql服务

hadoop@ubuntu:~$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
ba391a4caab8        mysql               "docker-entrypoint.s…"   8 minutes ago       Up 8 minutes        0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
hadoop@ubuntu:~$

2、使用navicat远程连接mysql服务

​ 打开navicat工具,输入远程服务相关信息,点击测试连接,提示:Authentication plugin ‘caching_sha2_password’ cannot be loaded
远程连接失败

​ 然后在网上各种搜索,出来的答案基本上需要进入容器mysql服务内进行修改参数或者执行sql来修改。

3、docker mysql 容器启动配置参数

  1. 在多次搜索无效资料后,本人决定上docker mysql 官网查看是否可设置mysql配置选项,结果找到对应的配置项
    官网说明

  2. 看到这里,既然mysql可以通过启动时进行字符集的默认设置,那这个插件的默认应该也可以设置,于是,执行官方所说的命令来查看可用列表

hadoop@ubuntu:~$ sudo docker run -it --rm mysql --verbose --help

在这里插入图片描述

  1. 终于找到对应的选项,于是,删除mysql对应的容器和挂在的数据卷,重新运行mysql容器,在命令的最后添加一句:–default-authentication-plugin=mysql_native_password
hadoop@ubuntu:~$ sudo docker run -d -p 3306:3306 -v /home/hadoop/mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql --restart always mysql --default-authentication-plugin=mysql_native_password

​ 启动容器后,重新使用navicat远程连接,连接成功!!
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值