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

2018/03/23更新 カテゴリー:開発奮闘記 タグ: , ,
  • このエントリーをはてなブックマークに追加

例えばWebサーバーで運用しているデータベースのバックアップデータを、ローカル環境に反映させたい場合、phpMyAdminのインポート機能を使うと便利です。私の場合、MAMPで構築していますが、MAMPはMacにPHP/MySQLをかんたんにインストールして環境を構築できるので重宝しています。

しかし、いざインポートをしようとしたら、「MySQL server has gone away」というエラーが。タイムアウトでも出ますが、今回はインポートしようとしているクエリの数が多すぎたのが原因のようです。

SPONSOR

解決方法

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

ここは自由に設定してください。

これでファイルサイズ、クエリサイズが大きいものもインポートできるようになったはずです。

フリーランスエンジニアの稼ぎ方

  • このエントリーをはてなブックマークに追加
SPONSOR

PROFILE

プロフィール

入江 慎吾/サービス開発だけで生きていく
自分のサービスだけで自由に生きる。勢いで受託開発をすべてやめて、サービスだけ作って生きていくことを決めたフリーのエンジニア。得意を教えて副業にできるMENTAを開発中! (詳しいプロフィール)
WEBサービス・アプリ開発に役立つ情報をイリテクの入江がお届けします。プログラミング、UI/UXデザイン、SNS・ブログマーケティングなど、プロダクト開発だけで自由に生きていくための実践的な情報を配信しています。

PRODUCT

イリテクで開発したプロダクト

RELATION

関連する記事

SPONSOR

TAG

タグから記事をさがす