最近OJ及相關的網站打開異常的慢,簡直崩潰,一直沒找著原因!
進入數據庫服務器,進到mysql裡,用show processlist命令查看一下,發現有很多的unauthenticated user
google了一下,
發現這算屬MySQL的一個bug,不管連接是通過hosts還是ip的方式,MySQL都會對DNS做反查,IP到DNS,由於反查的接續速度過慢
(不管是不是isp提供的dns服務器的問題或者其他原因),大量的查詢就難以應付,線程不夠用就使勁增加線程,但是卻得不到釋放,所以MySQL會“假死”。
解決的方案很簡單,結束這個反查的過程,禁止任何解析。
打開mysql的配置文件(my.cnf),在[mysqld]下面增加一行:
skip-name-resolve
重新載入配置文件或者重啟MySQL服務即可。