MySQL server has gone away エラーの対処法


MySQL server has gone away



phpMyAdminでデータをインポートする時などに、よく発生するこのエラー。

原因をはっきり明示してくれないので、結構対処が面倒です。

よくある原因として
「1つのクエリの長さが、サーバーで許可している長さをオーバーしている」
事が挙げられます。

対処法は、クエリ長の限界数を伸ばすか、1つのクエリの長さを短縮すること。

クエリが長すぎるというのは、例えばワードプレスのDBを別のサーバーにインポートしたいとき、
全部の記事数が1,000記事あるとして、1つのクエリで1,000記事をインポートしようとしている、とかですね。

元々のDBがあるサーバーのphpMyAdminで、DBをエクスポートする際の設定を変更する事で、クエリ単体の長さを小さくできます。

MySQL server has gone away エラーの対処法
「エクスポート方法」 → 「詳細」 にチェック。



MySQL server has gone away エラーの対処法
「すべての INSERT 文にカラム名を含める」にチェック。



この方法でエクスポートすると、DBテーブルの1行につき1クエリでインポートするよう、sqlファイルを出力してくれるので、
クエリの長さでひっかかっていた場合「MySQL server has gone away」エラーを出さずにインポートする事が出来ます。