最近遇到一个问题,当对Mysql
发起大量请求的时候,Mysql
会失去响应,一个原因是因为我的上一篇文章,MySQL: ERROR 1040: Too many connections另一个原因就是如下的原因,也算是Mysql
让人烦的原因。我们一起来看一下:
、
为什么Mysql
会进行DNS
解析?
Mysql
数据库收到一个网络连接后,首先拿到对方的IP地址,然后对这个IP地址进行反向DNS解析从而得到这个IP地址对应的主机名。用主机名在权限系统里面进行权限判断。
进行DNS
解析为什么会出错?
因为当客户端发起超过百万的连接时,Mysql
对于每个连接都会进行反DNS
解析得到主机名这样,反向DNS解析是耗费时间的,有可能让用户感觉起来很慢。甚至有的时候,反向解析出来的主机名并没有指向这个IP地址,这时候就无法连接成功了。
可以在配置文件里面禁止Mysql
进行反向DNS解析,只需在my.cnf的[mysqld]段落中加入如下行即可:
skip-name-resolve (windows与linux下一样的)
只不过linux是my.cnf文件,windows是my.ini文件
网友评论