连接到远程MySQL服务器时出错

我在Windows机器上安装了MySQL 5.5 Server。

我可以从运行在同一台机器上的控制台/应用程序连接到服务器,但不能从远程机器连接到服务器。 使用以下命令连接时:

mysql -h xx.xx.xx.xx --port=3306 -u root -p 

我得到以下错误:

错误1042(HY000):无法获取您的地址的主机名

我已经尝试把服务器的%windir%\system32\drivers\etc\hosts文件中的客户端IPinput为:

 <client-ip> <client-hostname> 

我相信这是与MySQL试图build立连接时与您的IP地址相关联的DNS名称的事实。 在这里看到更多的信息在MySQL网站。

你有两个select:

1)修复连接机器的反向DNS。 既然您已经将机器添加到主机文件,这可能是不必要的。 你也应该在MySQL服务器上发出一个FLUSH HOSTS语句。 有关详细信息,请参阅上面的相同链接。

2)使用“–skip-name-resolve”选项运行MySQL。 但是,如果您这样做,您将无法在GRANT语句中使用DNS名称。 相反,你将被限制使用IP地址。

2.1)或放在my.ini中

 [mysqld] skip-name-resolve 

我build议(1)如果可以的话。

希望这可以帮助。

这似乎是MySQL ver5.5中的一个报告错误 。 它已在my.ini文件的[server]部分中使用以下选项解决

 skip-name-resolve 

它禁用MySQL查询连接对等的DNS查询 。

唯一要记住的是:

…在这种情况下,您只能在MySQL授权表中使用IP号码。

我有同样的问题,但在Windows 7上。禁用Windows防火墙为我工作。