mysql默認狀態下是會自動反向解析,如果我們處理不好使用show processlist查看是會發現進行中有大量的unauthenticated user提示,下面我來給大家介紹解決unauthenticated user的方法.
例,代碼如下:
- mysql>show processlist;
- | 20681949 | unauthenticated user | A.B.C.D:52497 | NULL | Connect | | Reading from net | NULL |
- | 20681948 | unauthenticated user | W.X.Y.Z:52495 | NULL | Connect | | Reading from net | NULL | --Vevb.com
發現有非常多的 unauthenticated user 嘗試做登入使用 mysql 的情況,當這種情況無限制發生時就會造成系統十分緩慢.
查閱mysql官方網站得知,這屬于官方一個系統上的特殊設定,就把他當成mysql的一個bug算了,不管鏈接的的方式是經過 hosts 或是 IP 的模式,他都會對 DNS 做反查 mysqld 會嘗試去反查 IP -> dns ,由于反查解析過慢,就會無法應付過量的查詢.
如果處于公網上的MySQL出現大量的非法用戶嘗試登陸的情況,給服務器帶來的負荷是不可想像的.
解決辦法:
一、執行,代碼如下:
# /usr/local/mysql/bin/mysqld_safe --skip-name-resolve --user=mysql&
二、修改MySQL的配置文件my.cnf,追加如下代碼:
[mysqld]
skip-name-resolve
新聞熱點
疑難解答