MySql连接错误:Can't get hostname for your address

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySql连接错误:Can't get hostname for your address相关的知识,希望对你有一定的参考价值。

简单解释

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。

解决办法

第一种方法 修改Hosts

在 MySql Server 所在服务器上,修改 Windows 的 hosts 文件,增加一行记录,如:

172.28.208.149 www.xxxx.com

但这种方法很机械,所以一般采用下面这种方法。

第二种 修改MySql 的配置文件 my.ini

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启动服务

 
通过运行"services.msc"进入系统服务,找到MySQL服务,然后打开登陆,下面选择登陆身份选择本地系统账户而不是此账户:
技术分享
 
 
-------------------------------------------------------------------------------
技术分享
我的问题就是这个造成!

 

以上是关于MySql连接错误:Can't get hostname for your address的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据库罕见的BUG——Can't get hostname for your address

mysql Communication link failure, message from server: "Can't get hostname for your addr

连接MySQL的10060错误:Can't connect to MySQL server on '*.*.*.*'(10060) (转自https://www.cnblo

mysql报错1024-can't get hostname for your address

MySQL: ERROR13(HY000):Can't get stat of

远程连接MySQL错误:Can't connect to MySQL server (10060)