MAMPでインポート時に「MySQL server has gone away」が出る場合の対処方法

例えばWebサーバーで運用しているデータベースのバックアップデータを、ローカル環境に反映させたい場合、phpMyAdminのインポート機能を使うと便利です。私の場合、MAMPで構築していますが、MAMPはMacにPHP/MySQLをかんたんにインストールして環境を構築できるので重宝しています。
しかし、いざインポートをしようとしたら、「MySQL server has gone away」というエラーが。タイムアウトでも出ますが、今回はインポートしようとしているクエリの数が多すぎたのが原因のようです。
解決方法
MySQLの設定を変更
/Applications/MAMP/db/mysqlの中にmy.cnfを作ります。
そしてmax_allowed_packetを16Mと設定します。
[mysqld] max_allowed_packet = 16M
ファイルサイズが大きすぎると、途中で「スクリプトがタイムアウトしました。インポートを完了させたいのであれば同じファイルを再送信すればインポートが再開されます。」と、タイムアウトしてしまいますが、もう一度アップすると再開します。
ちなみにファイルアップロードの上限サイズも増やしたい場合は、PHPの設定を変更します。
PHPの設定を変更
/Applications/MAMP/bin/php/php5.4.4/conf
post_max_size = 1000M
ここは自由に設定してください。
これでファイルサイズ、クエリサイズが大きいものもインポートできるようになったはずです。
[sc name=”engeneer”]
SHARE
PROFILE

入江 慎吾
Webサービスを作るのが大好きです。制作会社10年→フリーランス→受託をやめサービス開発に専念。プログラミングのメンターサービスMENTAは月間流通額約1,300万を突破🚀 YouTubeでは個人開発について語ってます / 「自分のサービスで生きていく」をコンセプトに個人開発オンラインサロン「入江開発室」を運営(詳しいプロフィール)
Webサービスを作るのが大好きです。制作会社10年→フリーランス→受託をやめサービス開発に専念。プログラミングのメンターサービスMENTAは月間流通額約1,300万を突破🚀 YouTubeでは個人開発について語ってます / 「自分のサービスで生きていく」をコンセプトに個人開発オンラインサロン「入江開発室」を運営(詳しいプロフィール)