当前位置: 代码网 > 服务器>服务器>云虚拟主机 > 解决docker容器中出现Access denied for user 'root'@'172.17.0.2'(using password: YES)问题

解决docker容器中出现Access denied for user 'root'@'172.17.0.2'(using password: YES)问题

2024年07月02日 云虚拟主机 我要评论
首先有必要说明下,172.17.0.2 是我访问mysql容器的应用容器ip环境说明宿主机,ubuntu容器1: docker_for_api ,提供应用的api服务。容器2: docker_for_

首先有必要说明下,172.17.0.2 是我访问mysql容器的应用容器ip

环境说明

  • 宿主机,ubuntu
  • 容器1: docker_for_api ,提供应用的api服务。
  • 容器2: docker_for_web,提供应用的后台管理页面。
  • 容器3: docker_for_mysql ,数据库容器。

问题复现

程序中突然就出现了

access denied for user ‘root’@‘172.17.0.2’ (using password: yes)

的错误,因为,我的api中连接数据库 是 这样配置的。

一直以为是docker_for_api 这个容器有缓存啥的问题。搞了好久。

后来才返现就是docker_for_mysql这个容器的问题。

(权限问题,后来网上找的解决办法,然后结合我自己的服务部署的实际情况。)

好,进入正题:

解决方案

假设你现在已经在你的宿主机了

进入docker_for_mysql 这个容器

docker exec -it mymysql bash

用命令进入mysql 中

(我想把下面的语句称之为降权,不知道说不说的过去。)

grant all privileges on *.* to root@'%' identified by '123456' with grant option;

不出意外的话会有个 “query ok"

下面刷新下权限

flush privileges;

结果可能与你们有点出入,因为我是为了截图,都是第二次输入的命令。

总之有ok字样是没问题的,最后exit;

exit;

最后 你再用工具连接测试 发现一切正常了。

总结

如果你没成功的话,继续去找解决方案把。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com