最近数据库经常出现异常停顿和阻塞,通过show processlist发现大量类似如下的连接:

|592|unauthenticated user|192.168.3.20:35320|NULL|Connect| |login|NULL|
|593|unauthenticated user|192.168.3.20:35321|NULL|Connect| |login|NULL|
|594|unauthenticated user|192.168.3.20:35322|NULL|Connect| |login|NULL|
 
google后发现和域名解析有关系。
不管连接的方式是经过hosts或是IP,mysql都会对DNS做反查
mysql尝试反查IP->DNS,由于反查解析过慢或出问题,无法应对快速多量的查询
 
3种解决方法(前2种解决方法的缺点是不能再使用主机名,而要使用IP地址):
  1. 在启动参数中添加--skip-name-resolve,关闭反向域名解析功能
  2. 在my.cnf的[mysqld]一节中增加skip-name-resolve
  3. 在/etc/hosts文件中添加对应的host记录
考虑目前情况,使用了第2种方法
 
EOF ------
Posted on 2009-06-02 10:58  eRICsTONe  阅读(2485)  评论(0编辑  收藏  举报