无法从Intellij连接到在docker容器中运行的mySql - “指定的数据库用户/密码组合被拒绝”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法从Intellij连接到在docker容器中运行的mySql - “指定的数据库用户/密码组合被拒绝”相关的知识,希望对你有一定的参考价值。

目前无法从Intellij连接到在ubuntu上的docker容器上本地运行的mysql

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| tasklogs           |
+--------------------+

+----------+-----------+------+
| DATABASE | HOST      | USER |
+----------+-----------+------+
| tasklogs | localhost | dev  |
| tasklogs | localhost | root |
+----------+-----------+------+

+-----------------------------------------------------------+
| Grants for dev@localhost                                  |
+-----------------------------------------------------------+
| GRANT USAGE ON *.* TO `dev`@`localhost`                   |
| GRANT ALL PRIVILEGES ON `tasklogs`.* TO `dev`@`localhost` |
+-----------------------------------------------------------+

docker ps -a:

enter image description here

当我通过intellij连接时:

enter image description here

即“拒绝指定的数据库用户/密码组合:[28000] [1045]拒绝用户'dev'@'localhost'(使用密码:YES)”

我输入了正确的密码。

任何帮助真的很感激。

谢谢,

答案

正如@danblack所说,我需要通过tcp连接。

1)获取容器的IP:

docker inspect mysql1

2)我更改了mysql用户以允许从所有位置访问(如上所述here):

'dev'@'%'之前是'dev'@'localhost'

这就是诀窍:

enter image description here

以上是关于无法从Intellij连接到在docker容器中运行的mySql - “指定的数据库用户/密码组合被拒绝”的主要内容,如果未能解决你的问题,请参考以下文章

当应用程序在本地运行时,Node.js 能够连接到 MySQL 容器,但当应用程序在容器中运行时无法连接

无法从通过intellij运行的spring boot应用程序连接到我在docker上运行的kafka

弹性beantalk docker应用程序无法连接到mysql

无法从 docker 容器连接到 Localhost Mysql

无法从我的 Docker 容器内部连接到主机的 localhost

无法从 docker 容器连接到数据库 [重复]