docker安装好mysql,并成功启动,在本地用Navicat连接报2059错误,解决方法 - Go语言中文社区

docker安装好mysql,并成功启动,在本地用Navicat连接报2059错误,解决方法


问题描述:

docker成功安装了mysql,也正常启动了。

启动命名如下:

docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

用docker ps -a 也可以查到容器中mysql也在运行中,如下图:

 

但是在本地用Navicat登录的时候,发现报错了。报错信息

连接Docker启动的mysql出现:ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded

信息如图:

 

解决方案:

1.进入mysql容器

docker exec -it mysql01 /bin/bash

2.进入mysql

mysql -uroot -pmima(这个地方的老的密码)

3.修改密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';(这个地方是新的密码)

修改好了之后,再用Navicat登录就可以了。

 

4、注意事项:

这个时候,如果重启下docker里的mysql容器,用mysql命令登录mysql服务器。你会发现,用新改的密码是登录不了的,需要用老的密码(123456)才能登录。这是因为之前的alter语句的问题。要想保持密码一致,需要再执行下alter语句。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

这里要把刚才那个  % 改成  localhost  才行。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/guangtouwj/article/details/88742972
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 22:31:06
  • 阅读 ( 1222 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢