有一个我似乎无法找到答案的问题。我正在尝试连接到远程数据库。我在我的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文件或其他可能自动输入错误主机名的设置吗?我能改变一下吗?
答案 0 :(得分:2)
这是服务器认为与您的IP地址相关的名称。它可以用于DNS设置(它正在尝试反向DNS),或/ etc / host文件中的某些内容(将IP映射到该主机)。
答案 1 :(得分:2)
您需要确保要连接的计算机上的反向DNS与用户的地址匹配。 如果您使用共享IP或无法控制反向DNS,则将用户的权限更改为'test'@'%',这将允许来自任何IP地址的任何人连接,只要他们具有正确的用户名/密码对。当然这会带来一些安全问题。
您可以阻止mysql进行反向查找,然后使用'test'@'123.123.123'作为用户/主机,但除非您使用可能导致问题的固定IP。
DC
答案 2 :(得分:0)
尝试添加协议选项:
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)