Subscribe to RSS Feed ログイン

CentOS設定メモ

MySQL unauthenticated user

MySQLを使用してWebサイトの開発を行っているとたまーに
「unauthenticated user」
に悩まされることがある。
show processlistでMySQLのプロセスを確認するとこの「unauthenticated user」でコネクションを使い果たし新たにコネクションがはれなくなってしまうのだ。

この原因はDNS逆引きの負荷によるコネクションあふれ。
解決方法としては二つ
・skip-name-resolveを設定
  そもそもDNS逆引きをさせない。この場合はホスト名での接続ができなくなるのでIPアドレスで接続管理を行う。my.cndにskip-name-resolveを入れてMySQL再起動
・/etc/hostsで名前解決
  ホスト名の解決をhostsで管理する。接続台数が多い場合はメンテナンスが面倒

私の場合は基本的にはskip-name-resolve方式で行い、どうしてもホスト名での構築が必要な場合のみhostsファイルを使っています。
ちなみに、skip-name-resolve、hosts、DNSでの性能比較を行っているサイトを発見

kip-name-resolveでMySQLへの接続がどの程度速くなるのか試してみた

ここを見た感じDNSを利用するのはやはり避けたほうがよさそう・


コメントのRSSを取得する · トラックバック

コメントする