半夜醒了,睡不着就上网看看,一看不要紧,群里都炸了锅了,官网无法访问,断了都快一小时了,我考~~ 更不幸手机不知道啥时候停机了,靠,得亏哥们半夜醒了,不然明天去了公司还不惨了~~
查了查原因,问题出在数据库上,出现了大量的unauthenticated user线程,导致数据库不响应了:

1
2
3
4
| 364 | unauthenticated user | xxx.xxx.xxx.xxx:63249 | NULL | Connect |		| login | NULL |
| 365 | unauthenticated user | xxx.xxx.xxx.xxx:56768 | NULL | Connect | | login | NULL |
| 366 | unauthenticated user | xxx.xxx.xxx.xxx:54127 | NULL | Connect | | login | NULL |
| 367 | unauthenticated user | xxx.xxx.xxx.xxx:51060 | NULL | Connect | | login | NULL |

手册上有解释:unauthenticated user refers to a thread that has become associated with a client connection but for which authentication of the client user has not yet been done。
大概意思是:有一个线程在处理客户端的连接,但是该客户端还没通过用户验证。
导致原因可能是Mysql在做DNS反向解析,解决办法:
1 可以在hosts文件中添加 hosts记录
2 在配置文件mysql.cnf添加skip-name-resolve ,重启mysql ,不启用DNS反向解析。

用上面的方法搞定。

不过还得查查原因,为什么会出现客户端未通过认证的情况。