<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[mysql中的 skip-name-resolve 问题，远程首次连接mysql速度慢的解决方法:skip-name-resolve取消DNS的反向解析。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[数据库技术]]></category>
<pubDate>Thu, 06 Jun 2013 01:50:07 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	<br/>今天早上开发那边发现mysql连接很慢，登陆到服务器上查看服务器日志都是正常的，无可疑记录，刚刚还好好的，怎么突然出现这个问题，于是登陆到mysql服务器上，查看下进程，发现有很多这样的连接：<br/>218 &#124; unauthenticated user &#124; 192.168.10.6:44500 &#124; NULL&nbsp;&nbsp;&#124; Connect &#124; NULL &#124; login &#124; NULL<br/>219 &#124; unauthenticated user &#124; 192.168.10.6:44501 &#124; NULL&nbsp;&nbsp;&#124; Connect &#124; NULL &#124; login &#124; NULL&nbsp;&nbsp;<br/>........<br/>放狗，放狗。。。<br/>原因是由于mysql对连接的客户端进行DNS反向解析。<br/>有2种解决办法：<br/>1，把client的ip写在mysql服务器的/etc/hosts文件里，随便给个名字就可以了。<br/>2，在 my.cnf 中加入 –skip-name-resolve 。<br/>对于第一种方法比较笨，也不实用，那么 skip-name-resolve 选项可以禁用dns解析，但是，这样不能在mysql的授权表中使用主机名了，只能使用IP。<br/>我理解mysql是这样来处理客户端解析过程的，<br/>1，当mysql的client连过来的时候，服务器会主动去查client的域名。<br/>2，首先查找 /etc/hosts 文件，搜索域名和IP的对应关系。<br/>3，如果hosts文件没有，则查找DNS设置，如果没有设置DNS服务器，会立刻返回失败，就相当于mysql设置了skip-name-resolve参数，如果设置了DNS服务器，就进行反向解析，直到timeout。<br/>有一点不明白，为什么连接mysql服务器内网的ip地址也要进行DNS反向解析，而这时候DNS解析返回给mysql的是什么呢？<br/>望高手解答。<br/><br/>来自：http://linux.chinaunix.net/techdoc/database/2009/05/23/1114175.shtml<br/><br/><br/> mysql启用skip-name-resolve模式时出现Warning的处理办法 ：<br/>skip-name-resolve 参数的目的是不再进行反解析（ip不反解成域名），这样可以加快数据库的反应时间。<br/>修改配置文件添加并需要重启：<br/>[mysqld] <br/>skip-name-resolve<br/>添加后发现错误日志有警告信息<br/>131127 11:09:12 [Warning] &#039;user&#039; entry &#039;root@cvs&#039; ignored in --skip-name-resolve mode.<br/>131127 11:09:12 [Warning] &#039;user&#039; entry &#039;@cvs&#039; ignored in --skip-name-resolve mode.<br/>131127 11:09:12 [Warning] &#039;proxies_priv&#039; entry &#039;@ root@cvs&#039; ignored in --skip-name-resolve mode<br/><br/>启用后，在mysql的授权表中就不能使用主机名了，只能使用IP ，出现此警告是由于mysql.user表中已经存在有相关的帐号信息。 我们把它删除就好了。<br/>mysql&gt;use mysql; <br/>mysql&gt; delete&nbsp;&nbsp;from user where HOST=&#039;cvs&#039;; <br/>Query OK, 2 rows affected (0.00 sec)&nbsp;&nbsp; <br/><br/>然后删除表mysql.proxies_priv中和cvs类似与具体域名有关的行,方法同上。<br/><br/>重启MYSQL ，发现警告已经没有啦。 <br/>来自：http://blog.itpub.net/14184018/viewspace-1061224/
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] mysql中的 skip-name-resolve 问题，远程首次连接mysql速度慢的解决方法:skip-name-resolve取消DNS的反向解析。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>