読者です 読者をやめる 読者になる 読者になる

MySQL で Too many connections

MySQL 設定、チューニングを全くしていないシステム
この "Too many connections" が発生、

調べると、MySQL セッションのアイドル待機時間、

> show global variables like 'wait_timeout';

でみると、28800 (秒)→8時間、これは長すぎる!

MySQL 起動中のまま再設定するなら、

> set global wait_timeout = 60;

my.cnf では、
set-variable = wait_timeout=60

最大コネクション数の確認は、

> show global variables like 'max_connections';

MySQL 起動中のまま再設定するなら、

> set global max_connections = 256;

my.cnf では、
max_connections = 256

当然、スレッドも調整すべきで、

> show status like '%threads_%';

で、以下の値を見て調整する。
Threads_cached    :キャッシュされているスレッドの数
Threads_connected  :生成されているスレッドの数
Threads_created     :MySQL起動後、生成されたスレッドの数
Threads_running     :動作中のスレッド数


設定必要なら、、

> set globalL thread_cache_size = 256;


my.cnf では、
thread_cache_size = 256