MySQLのデータ移行を行うときにデータをエクスポートして新しいDBにインポートするとき、サイズが大きいデータだと失敗することがあります。

インポートするデータを受信できませんでした。ファイル名が送信されていないか、ファイルサイズがPHPの設定で許可された最大値を超えています。

データベースのバックアップを復元するときや、WordPressを移行するときとかによくつまづくポイントですね。

この場合の対処法をいくつか上げておきます。

データを圧縮してインポートする

データテーブルをエクスポートする時に圧縮することでファイルサイズを小さくします。

こうすることでファイルサイズが大きいファイルでもかなり容量を抑えられるのでインポートが可能になります。

エクスポートファイルの圧縮

PHPの設定を変更してインポートする

PHPには設定ファイルがあり、ここに取り扱うファイルサイズの上限が設定されています。

これを変更することで大きいファイルサイズでもインポートすることができるようになります。

php.iniの編集

xamppの場合

xamppのphp.iniの場所は以下のとおり。

C:\xampp\php

こちらはデフォルトですので、パスはxamppのインストール場所に適宜置き換えてください。

phpフォルダの直下にあります。

サクラインターネットの場合

さくらインターネットはサーバーコントロールパネルにログインし、「phpの設定」からphp.iniファイルを変更することができます。

もしくはターミナルでログインしてwww直下にあるphp.iniファイルを編集というのも手です。

さくらインターネットのphp.iniの編集

設定を変更する

php.iniを開いたら、下記の記述を適宜変更します。
※さくらインターネットの設定画面の場合はそのまま追記してください。

#メモリの上限
memory_limit = 32M
#PHPが受け取れる上限
post_max_size = 32M
#PHPがアップロードできる上限
upload_max_filesize = 32M

保存すれば取り扱えるファイルのサイズが変更できているはずなのでインポートします。

ちなみに上記設定の値は

memory_limit ≧ post_max_size ≧ upload_max_filesize

というように設定されている必要があります。

特に意図がない限りは同じ数値を設定しておけば間違いないでしょう。

インポート、エクスポートの注意点

これは当たり前ですが、空のデータベースを用意してそこにデータをインポートしたいのなら、テーブルをエクスポートします。

データベースごとエクスポートして、それを空のデータベースにインポートしようとしても当たり前ですが入りません。

編集後記

MySQLデータのインポート、エクスポートは大体ここでつまずきますので、エラーになっても諦めずにやってみましょう。

などと偉そうに言ってますが自分も当初ハマってしばらく放置してたクチです。

いつもシェアありがとうございます!気に入ったらシェアしていただけたら幸いです。