xamppのphpMyAdminでSQLインポート時のエラー(#2006 MySQL server has gone away)に対処

xamppでテスト環境を起こす際に、MYSQLデータをphpMyAdminからインポートしようとしたところ、エラーとなり途中までしかインポートできませんでした。
いままでそんなことなかったのに、なぜ何だろうと原因を調べていたら、おもったよりちょっとしたことでした。
忘備録として記録いたします。
現象は次の通り
phpMyAdminでSQLをインポートしようとすると、以下のエラーが発生しました。
なにやらMYSQLと接続が切断された的なエラーですが、なんでそうなったのか今一つよくわかりません。

対処方法

my.iniファイルのmax_allowed_packet値を1M→64Mに増やすことで直りました。

MYSQLを再起動して再度インポートするとうまくいきました。


思ったより簡単な作業で対処できました。
ただここで疑問がわきました。
max_allowed_packetが小さいとなぜエラーになったのかと?
max_allowed_packetとはなにか?

max_allowed_packetっていったい何?
と思い、調べてみました。
max_allowed_packetとは、1回で処理できるパケットサイズということでした。
はて?
わかるような、わからないような。
パケットサイズの最大値ということはわかりましたが、1回で処理できるパケットサイズとは何?
とさらに疑問がわきました。
ということでさらに調べてみると次のようなことでした。
SQL1文あたりの最大サイズの設定値
例えば10データあれば、SQLが10文になります。
1データのサイズが、max_allowed_packet値より大きいサイズの場合、エラーになるということです。
例えば、データベースに直接画像を保存している場合などです。
そういった場合、1Mだとすぐにエラーになります。
今回の場合、読み込んだSQLデータの中に1Mを超える1文があったため、phpMyAdminでエラー中断となっていました。
理屈がわかると、対処方法がわかるものです。