大きなサイズのSQLを実行しようとしたとき
MySQL server has gone away
となってしまうことがありますが
この場合、max_allowed_packet
の値を確認すると解決する場合があります。
mysql> show variables like 'max_allowed_packet';
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+
で現在の設定が確認できます。
私の環境では4MBになっていました。
例えばMySQL5.6であれば設定できる最大値は1GBですので、状況に応じて適切に設定してあげるとクエリが通せるようになると思います。
なおRDSの場合は、マネジメントコンソールからパラメータグループ内の設定を変更することになります。
タイプがDynamicになっていれば、インスタンスの再起動は不要です。
参考
[https://dev.mysql.com/doc/refman/5.6/ja/packet-too-large.html:embed:cite]