首页 » 挨踢业 » 正文

MySQL出现大量unauthenticated user

在MySQL中执行Show Processlist语句可以看到发现大量unauthenticated user进程卡住,在网上搜索一翻,找到问题根源:

发现这属于官方一个系统上的特殊设定,亦可称呼他为MySQL的bug,不管连结的的方式是经过hosts或是IP的模式,他都会对DNS做反查。MySQL会尝试去反查IP->DNS,由于反查解析过慢,无法应付快速多量的查询。

解决方式很简单:启动MySQL的时候,添加–skip-name-resolve选项,禁止域名解析,

或是在mysql的配置文件(my.cnf),在[mysqld]下面增加一行:

skip-name-resolve

重新载入配置文件或者重启MySQL服务即可。

记录一下。

需要注意的是,这样修改后,将不能使用主机名来连接数据库,只能使用IP地址。要确认你的mysql帐户对IP地址访问的权限。