【问题标题】:MySQL permission denied from local but can connect remotelyMySQL权限被本地拒绝,但可以远程连接
【发布时间】:2011-03-16 07:47:49
【问题描述】:

我正在尝试通过以下命令(通过 ssh)连接到远程服务器上的 mysql 数据库:

mysql -u me -h mydomain.com -p

但它失败并显示 ERROR 1045 (28000): Access denied for user.. 错误

虽然

mysql -u me -h localhost -p

作品

现在这不仅仅是因为我没有设置权限,因为这个数据库的权限设置为 % 或 me 用户的任何主机。

我可以使用同一用户从本地计算机正确连接到服务器这一事实证明了这一点。即从我的本地机器运行以下命令:

mysql -u me -h mydomain.com -p

所以我的问题是为什么会发生这种情况,我该如何解决?为什么我使用域名而不是 localhost 时无法从我的服务器连接到我的 mysql 服务器,即使权限设置为接受来自任何主机的连接。

【问题讨论】:

    标签: mysql permissions dns mysql-error-1045


    【解决方案1】:

    这是因为 MySQL 处理权限授予的方式。

    当您从远程主机(或通过外部 IP 从本地主机)连接时,它将匹配 me@% 条目(如果没有针对您的特定主机的特定授权)重新使用!)。但是当您通过环回接口(“localhost”IP)或套接字连接时,它将使用me@localhost 授权。所以你必须有两个GRANT PRIVILEGES;一个用于me@localhost,一个用于me@%

    【讨论】:

      猜你喜欢
      • 2021-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-08
      • 1970-01-01
      • 2016-04-07
      • 2021-03-28
      相关资源
      最近更新 更多