メモ > サーバ > 各論: トラブル対応例 > MySQLでときどき MySQL server has gone away と表示される
■MySQLでときどき MySQL server has gone away と表示される
・巨大なクエリを実行した
・サイズの大きいデータをインポートした
・接続がタイムアウトした、接続がクローズした
のようなときに発生するみたい
max_allowed_packet の値を大きくすると改善することがあるみたい
> show variables like 'max_allowed_packet';
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+
↓
> show variables like 'max_allowed_packet';
+--------------------+----------+
| Variable_name | Value |
+--------------------+----------+
| max_allowed_packet | 16777216 |
+--------------------+----------+
上の対策で効果が無ければ、タイムアウトも長く調整してみる
> show global variables like 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 900 |
+---------------+-------+
MySQLのエラーと対策まとめ - Qiita
https://qiita.com/RyutaKojima/items/3772d695db5e2342ab47
インポート時に「MySQL server has gone away」が発生したときの対処 | 南紀熊野ウェブサービス(大阪、新宮市)
http://company.nankikumano.jp/contents/tech_info/104/
mysql max_allowed_packetを変更する - Qiita
https://qiita.com/_am_/items/91824da643256d46b847
MySQL に大きなデータを送る際に max_allowed_packet を確認した方がいい | Sun Limited Mt.
http://blog.syuhari.jp/archives/1307
【MySQL】MySQLセッションタイムアウト(wait_timeout)の時間を変更する方法 - MEMO REC
http://gontora.hatenadiary.com/entry/2018/08/02/121842
■未検証
net_read_timeout や net_write_timeout の値も関係しているかもしれない(未検証)
> SHOW GLOBAL VARIABLES LIKE '%timeout%';
+-----------------------------+----------+
| Variable_name | Value |
+-----------------------------+----------+
| connect_timeout | 10 |
| delayed_insert_timeout | 300 |
| innodb_flush_log_at_timeout | 1 |
| innodb_lock_wait_timeout | 50 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 28800 |
| lock_wait_timeout | 31536000 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| rpl_stop_slave_timeout | 31536000 |
| slave_net_timeout | 3600 |
| wait_timeout | 28800 |
+-----------------------------+----------+
12 rows in set (0.00 sec)
SELECT文をタイムアウト強制終了させる「MAX_EXECUTION_TIME」使ってる? - なからなLife
http://atsuizo.hatenadiary.jp/entry/2017/12/09/000000
第75回 MySQLのさまざまなタイムアウトオプションについて:MySQL道普請便り|gihyo.jp … 技術評論社
https://gihyo.jp/dev/serial/01/mysql-road-construction-news/0075