解决MySQL出现大量unauthenticated user的问题

近期OJ及相关的站点打开异常的慢,简直崩溃,一直没找着原因。

进入数据库server。进到mysql里,用show processlist命令查看一下,发现有非常多的unauthenticated user


google了一下,

发现这算属MySQL的一个bug,无论连接是通过hosts还是ip的方式,MySQL都会对DNS做反查,IP到DNS。因为反查的接续速度过慢

(无论是不是isp提供的dnsserver的问题或者其它原因)。大量的查询就难以应付。线程不够用就使劲添加线程,可是却得不到释放,所以MySQL会“假死”。

解决的方案非常easy。结束这个反查的过程,禁止不论什么解析。


打开mysql的配置文件(my.cnf),在[mysqld]以下添加一行:

skip-name-resolve

又一次加载配置文件或者重新启动MySQL服务就可以。

posted on 2016-03-12 17:42  gcczhongduan  阅读(503)  评论(0编辑  收藏  举报