Skip to content →

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

入江 慎吾
イリテク株式会社代表取締役 / メンターマッチングサービスMENTAを運営(月間流通額700万突破)/ 累計20個以上のWEBサービスやアプリを開発 / CAMPFIREとコミュニティツールVoyageを共同開発中 / 「自分のサービスで生きていく」をコンセプトに個人開発オンラインサロン「入江開発室」を運営(詳しいプロフィール)

SPONSER

Published in 開発奮闘記