2010-01-06 65 views
4

有一个问题,我似乎无法找到答案。我正尝试连接到远程数据库。我在下面给我的Ubuntu shell中键入:mysql客户端连接主机名问题

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

MySQL的询问我的密码,然后输出如下:

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

的问题是,我不是externalit。我在一个完全不同的主机上。我认为我所在的服务器是从externalit克隆的,但我没有设置服务器。我的问题:mysql是否有一个conf文件或其他设置可能会自动输入一个不正确的主机名?我可以改变这个吗?

回答

2

这是该服务器认为所对应的名称与您的IP地址。它可以做到DNS设置(它尝试反向DNS),或者在/ etc/host文件中(将该IP映射到该主机)。

+0

谢谢, 我想到了这一点,做了一个挖掘和externalit FQDN解决不同的IP。如果是这种情况,它只是DNS输出,那么我猜服务器管理员有一些工作要做... – Tim 2010-01-06 22:29:38

2

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

您可以防止MySQL的从做反向查找,然后使用“test'@'123.123.123”作为用户/主机,但除非你是在一个固定的IP,可能会导致问题。

DC

相关问题