【发布时间】:2021-01-21 00:29:58
【问题描述】:
这是我第一次使用 DataGrip 尝试在 Ubuntu 18.04 服务器中连接到 MySQL。
我已经向 MySQL 添加了一个新用户。当我尝试使用命令MySQL -u user -p 连接到 MySQL 时。
但在 DataGrip 上,我创建了一个 ssh 隧道,它可以毫无问题地建立连接。
但是当尝试连接到 MySQL 时,它给出了这个错误The specified database user/password combination is rejected: [28000][1698] Access denied for user 'user'@'localhost'。
我确定密码是正确的,并且在日志文件中显示它正在建立 ssh 连接,但是在连接到 MySQL 时它会拒绝访问。如果有人可以帮助我,我将不胜感激。
【问题讨论】:
-
使用
mysql -u <user> -p <password>连接与通过网络连接不同。尽管您的用户可能有权访问本地连接(我相当确定默认情况下它将使用 unix 套接字而不是 tcp 端口),但该用户无权通过网络连接。这篇文章应该可以帮助stackoverflow.com/questions/8348506/… -
@Grizzle 我看到了帖子,但在这种情况下,我不应该因为 SSH 隧道而无法连接吗?
-
正如我所提到的,当您从 cli 使用
mysql命令时,它使用的是 unix 套接字而不是 over tcp。如果你运行mysql -h localhost -u <user> -p <password>,它将使用网络套接字,你应该得到同样的错误。 dev.mysql.com/doc/refman/5.7/en/mysql-command-options.html -
可能是您的帐户无权访问
localhost。您能否运行此查询并发布结果。它将为您的用户显示所有允许的主机。Select host from mysql.user where user = 'user'@HenriqueDotCom
标签: mysql ubuntu-18.04 datagrip