标签:
MySQL server received a request from you to allow you to connect to the database. So next thing it tried to do is to check what name is bound to your IP address (name resolution) and it failed to do so. So it just denied you access.
可以这么理解mysql处理客户端解析的过程:
1,当 mysql client 发起连接请求时,MySql Server 会主动去查 client 的主机名。
2,首先查找Windows系统目录下 /etc/hosts 文件,搜索域名和IP的对应关系。
3,如果hosts文件没有,则查找DNS设置,如果没有设置DNS服务器,会立刻返回失败;如果设置了DNS服务器,就进行反向解析,直到timeout。
在 MySql Server 所在服务器上,修改 Windows 的 hosts 文件,增加一行记录,如:
172.28.208.149 www.xxxx.com
但这种方法很机械,所以一般采用下面这种方法。
The solution:
Just add skip-name-resolve option to your MySQL configuration file (my.ini).
在 MySql Server 的配置文件 My.ini 中,增加如下两行:
[mysqld]
skip-name-resolve
它将禁止 MySql Server 对外部连接进行 DNS 解析,使用这一选项可以消除 MySql 进行 DNS 解析的时间。
第三种 修改MySQL启动服务
MySql连接错误:Can't get hostname for your address
标签:
原文地址:http://www.cnblogs.com/Nicholas-Cheng/p/5227330.html