エラーログを見てみると [ too many connections ] と。
MySQLのエラーということはわかったので、mysqlサーバーへコンソールログインして確認、処置を行います。
現在の接続状況を確認
> show processlist;
+------+-------+-----------------+-----------+---------+------+------+------+| Id | User | Host | db | Command | Time | State| Info |
+------+-------+-----------------+-----------+---------+------+------+------+
| 1944 | user | hostname : port | dbName | Sleep | 6 | | NULL |
+------+-------+-----------------+-----------+---------+------+------+------|
140 rows in set (0.00 sec)
ここでいうところのrows が接続数
設定の確認
> show variables like "%max_connections%";
+-----------------+-------+| Variable_name | Value |
+-----------------+-------+
| max_connections | 151 |
+-----------------+-------+
現在は151
> show variables like "%wait_timeout%";
+--------------------------+-------+| Variable_name | Value |
+--------------------------+-------+
| innodb_lock_wait_timeout | 50 |
| table_lock_wait_timeout | 50 |
| wait_timeout | 28800 |
+--------------------------+-------+
8時間って・・・長いし。(デフォルトでした)
一時しのぎとしてオンラインで設定変更
> set global max_connections = 300;
からの確認> show variables like "%max_connections%";
+-----------------+-------+| Variable_name | Value |
+-----------------+-------+
| max_connections | 300 |
+-----------------+-------+
変わりました。
永続設定
/etc/my.cnfへ記載します。[mysqld]
wait_timeout=3600
max_connections=200