docker MySQL出现Access denied for user ‘root‘@‘****‘ (using password: YES)解决
程序员文章站
2022-05-01 14:46:35
...
首先有必要说明下,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 aaa@qq.com'%' identified by '123456' with grant option;
不出意外的话会有个 “Query Ok"
在这里插入图片描述
下面刷新下权限
flush privileges;
在这里插入图片描述
结果可能与你们有点出入,因为我是为了截图,都是第二次输入的命令。总之有OK字样是没问题的,最后exit;
exit;
最后 你再用工具连接测试 发现一切正常了。
没成功的话,继续去找解决方案把。
上一篇: C#学习总结(3)——代码连接mysql数据库(VS工具)
下一篇: 【解决问题】引入.vmx文件后,xshell连接Could not connect to ‘192.168.211.132‘ (port 22): Connection failed.
推荐阅读
-
Linux连接mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决
-
MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决
-
MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决
-
win10下MySQL 8.0登录Access denied for user‘root’@‘localhost’ (using password: YES)问题的解决方法
-
Linux连接mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决
-
MySQL密码正确却无法本地登录-1045 Access denied for user 'root'@'localhost' (using password:YES
-
Linux连接mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决
-
java访问数据库被拒绝,不能连接数据库ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
-
Linux连接mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决方法
-
ERROR 1045 (28000): Access denied for user ''root''@''localhost'' (using password: YES)实用解决方案