mysql unauthenticated user

mysql執行show processlist 發現大量 unauthenticated user

看下手冊中的解釋是: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。意即:有一個線程在處理客戶端的連接,但是該客戶端還沒通過用戶驗證。

發現有大量的unauthenticated user進程。MySQL不管連接是通過hosts還是ip的方式,MySQL都會對DNS做反查,IP到DNS,由於反查的接續速度過慢,大量的查詢就難以應付,線程不夠用就使勁增加線程,但是卻得不到釋放,所以MySQL會“假死”。

解決方法,結束這個反查的過程,禁止任何解析,打開mysql的配置文件(my.cnf),在[mysqld]下面增加一行:

skip-name-resolve

重新載入配置文件或者重啓MySQL服務即可。

原因可能有:
1、 服務器在做DNS反響解析,解決辦法有2:
 1、) 在 hosts 中添加客戶端ip,如

192.168.10.100  HOSTNAME

 2、) MySQL啓動參數增加一個skip-name-resolve,即不啓用DNS反響解析
2、服務器的線程還處於排隊狀態,因此可以加大 back_log

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章