MySql の「unauthenticated user」。
サイトが激重になった調査と解決のログ。
とりあえずログインとプロセスの確認。
[server ~]# top top - 16:07:35 up 97 days, 14:55, 1 user, load average: 0.00, 0.00, 0.00 Tasks: 37 total, 2 running, 35 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1998992k total, 577856k used, 1421136k free, 161764k buffers Swap: 0k total, 0k used, 0k free, 295652k cached
平和だ。
ネットワークを疑う。
[server]# netstat -an (略)
State "ESTABLISHED" が10個ほど。
そのうちの、全てが MySql のポート。
MySQL のプロセスを確認。
mysql> show processlist; | 1401878 | root | localhost | NULL | Query | 0 | NULL | show processlist | | 1401885 | unauthenticated user | xx.xx.xx.xx:pppp | NULL | Connect | NULL | login | NULL | | 1401886 | unauthenticated user | xx.xx.xx.xx:pppp | NULL | Connect | NULL | login | NULL | | 1401887 | unauthenticated user | xx.xx.xx.xx:pppp | NULL | Connect | NULL | login | NULL | | 1401888 | unauthenticated user | xx.xx.xx.xx:pppp | NULL | Connect | NULL | login | NULL | | 1401889 | unauthenticated user | xx.xx.xx.xx:pppp | NULL | Connect | NULL | login | NULL | | 1401890 | unauthenticated user | xx.xx.xx.xx:pppp | NULL | Connect | NULL | login | NULL |
調べたところ
MySQLがDNSの逆引きをする際に起こるらしい
参考) http://kennyqi.com/archives/70.html
対応もこのサイトの通りに
# vi /etc/my.cnf [mysqld] skip-name-resolve
で、すっきり解決しました。
だが何故突然、この現象が発生したのかは謎。
『「ESTABLISHED」10個、「unauthenticated user」が6個』は多いのか? 少ないのか?
MySQL のコネクションはデフォで100なのだから、この程度の量は問題ないと思ったのだが .....
謎は深まる。
ちなみに、MySQLのコネクション最大値。
( my.cnf に何も記述していない場合 )
mysql> show variables like 'max_connections' -> ; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 100 | +-----------------+-------+ 1 row in set (0.00 sec)