同事報後台登陸不上了,報錯不能連接到數據庫.馬上到數據庫一看連接數已經到達1000了,已經把連接數占滿了.
為了不影響其他應用,先把連接數加大再說.
set global max_connections=2000;
再往下查,發現都是這樣的連接.
| 16472659 | unauthenticated user | 192.168.100.11:55282 | NULL | Connect | NULL | login | NULL |
| 16472660 | unauthenticated user | 192.168.100.11:55284 | NULL | Connect | NULL | login | NULL |
| 16472661 | unauthenticated user | 192.168.100.11:55290 | NULL | Connect | NULL | login | NULL
google出原來是:
看下手冊中的解釋是: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。意即:有一個線程在處理客戶端的連接,但是該客戶端還沒通過用戶驗證。
原因可能有:
1、 服務器在做DNS反響解析,解決辦法有2:
1、) 在 hosts 中添加客戶端ip,如
192.168.0.1 yejr
2、) MySQL啟動參數增加一個skip-name-resolve,即不啟用DNS反響解析
2、服務器的線程還處於排隊狀態,因此可以加大 back_log
我的授權表是用的IP地址和域名都有.不能重啟mysql服務,只能增加hosts記錄 192.168.100.11 webserver
仍然連接錯誤,這次報的是webserver無法連接到192.168.100.11 ,沒辦法了只能給用戶重新加下授權表主機名為webserver.
flush privileges;
flush hosts;都是需要的.
作者“king”