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

プロフィール

入江 慎吾
自分が作ったサービスで生きていく。同じゴールを目指すサービス開発集団「入江開発室」を運営(現在約280名) / 個人間スキルシェアサービス「MENTA」は1ヶ月と10日で売上100万円を達成。1日で100社が利用した「JobTag」など多数開発
(詳しいプロフィール)

PRODUCT

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

RELATION

関連する記事

SPONSOR

TAG

タグから記事をさがす