代码之家  ›  专栏  ›  技术社区  ›  TCCV

MySQL客户端连接主机名问题

  •  5
  • TCCV  · 技术社区  · 15 年前

    有一个我似乎找不到答案的问题。我正在尝试连接到远程数据库。我在我的Ubuntu shell中键入以下内容:

    mysql -u test -h mysql.domain.com -p
    

    MySQL请求输入我的密码,然后输出以下内容:

    ERROR 1045 (28000): Access denied for user 'test'@'externalit.domain.com' (using password: YES)
    

    问题是我不在外。我的主人完全不同。我认为我所在的服务器是从ExternalIt克隆的,但我没有设置服务器。我的问题:MySQL是否有一个conf文件或其他设置,可能会自动输入错误的主机名?我能换这个吗?

    3 回复  |  直到 14 年前
        1
  •  2
  •   MBCook    15 年前

    这是服务器认为与您的IP地址匹配的名称。可以对DNS设置(尝试反向DNS)或/etc/主机文件中的某些内容(将该IP映射到该主机)执行此操作。

        2
  •  2
  •   DeveloperChris    15 年前

    您需要确保您连接的计算机上的反向DNS与用户的地址匹配。 如果您在共享IP上或无法控制反向DNS,则将用户的权限更改为“test”@“%”,这将允许来自任何IP地址的任何人连接,只要他们具有正确的用户名/密码对。当然,这会带来一些安全问题。

    您可以阻止MySQL进行反向查找,然后使用'test'@'123.123.123'作为用户/主机,但除非您位于可能导致问题的固定IP上。

    直流

        3
  •  0
  •   Roland Bouman    15 年前

    尝试添加协议选项:

    mysql -u test -h mysql.domain.com --protocol=tcp -p
    

    和/或尝试显式添加端口:

    mysql -u test -h mysql.domain.com -P3306 --protocol=tcp -p
    

    (见: http://dev.mysql.com/doc/refman/5.1/en/mysql-command-options.html#option_mysql_protocol )

    推荐文章