mysql大量unauthenticated user解決 前幾天,公司服務器做調整,然後mysql就連不上了....time out 無語了,各種能想的辦法都想了 ,主要是我mysql方面也不是很懂,當時只是推測是mysql這邊出了,問題,具體原因不明,然後領導出馬,搞定.... www.2cto.com 如下為問題的描述及解決方案: 問題描述:執行mysql命令show processlist;查看進程的時候出現大量unauthenticated user,大致如下: |592|unauthenticated user|192.168.3.20:35320|NULL|Connect| |login|NULL| |593|unauthenticated user|192.168.3.20:35321|NULL|Connect| |login|NULL| |594|unauthenticated user|192.168.3.20:35322|NULL|Connect| |login|NULL| 原因: 這個是官方的一個特殊設定,亦可稱呼他為mysql的bug,不管連結的的方式是經過hosts或是IP的模式, 他都會對DNS做反查。mysql會嘗試去反查IP->DNS,由於反查解析過慢,無法應付快速多量的查詢。 www.2cto.com 這個主要是因為DNS不穩定導致的。 如果做了網絡隔離,MySQL處於一個相對安全的網絡環境,那麼開啟skip-name-resolve選項將會最大程度避免這個問題。 解決辦法: 一:啟動MySQL的時候,添加 --skip-name-resolve選項,禁止域名解析,問題解決。 示例: /usr/local/mysql-5.1.36/bin/mysqladmin -u root -p shutdown /usr/local/mysql-5.1.36/bin/mysqld_safe --skip-name-resolve & 二:在my.cnf的[mysqld]一節中增加skip-name-resolve 三:在/etc/hosts文件中添加對應的host記錄