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

プロフィール

入江 慎吾/サービス開発だけで生きていく
15年続けた受託開発をやめ、自分が作ったサービスだけで生きていくことを決意。同じゴールを目指す仲間が集まる入江開発室を運営 / 師弟関係がつくれるサービス「MENTA」をつくりました。
(詳しいプロフィール)

PRODUCT

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

RELATION

関連する記事

SPONSOR

TAG

タグから記事をさがす