码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2016-02-29 16:23:31      阅读:737      评论:0      收藏:0      [点我收藏+]

标签:

简单解释

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

标签:

原文地址:http://www.cnblogs.com/Nicholas-Cheng/p/5227330.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!