phpMyAdminのファイルサイズエラーとBigDumpの300 dump lines超えエラーの対処法

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

なんと、このブログを置いていたレンタルサーバー「グランパワー」が24時間以上にわたってアクセス不可となった。
原因は、アカウントが乗っ取られ、大量の迷惑メールの配信が行われ、上位ネットワークからIPアドレスを遮断されたことによると。。。

これは、もちろん私のアカウントが乗っ取られたのではなく、おおもとのアカウントが乗っ取られたことによる。

いろいろ考えると、このサーバーもそろそろ潮時かなと思い、他のサーバーに移すことにした。

WordPressの引っ越し自体は手慣れたものだが、問題はFTPサーバーにもphpMyAdminにもアクセスできないってこと。
しかし、こんなこともあろうかと、WPのプラグイン「BackWPup」で定期的にバックアップをとり、バックアップファイル一式をdropboxに送るようにしていた。

しかし、いざバックアップしていたsqlファイルを、移転先サーバーのphpMyAdminから読み込もうとしたら問題が発生。

「アップロードしようとしたファイルが大きすぎるようです。対策についてはドキュメントをご覧ください。」

ファイルが大きすぎると。
よくよくphpmyadminのインポート画面を見てみると…

確かに。制限が8MBとなっている。
この制限の数値はサーバー会社によって異なるようだ。

その対策方法として、「php.iniを編集する」というのがまずあげられているのだが、これはサーバーによっては編集させてくれないところも多い。

そこで、「BigDump」というツールを使って大きいsqlファイルをmnysqlに突っ込む方法をとることにした。
使い方は、使用法のページ(英語)に書いてあるとおりだが、工程の2番目の「bigdump.php」内に自分のサーバーのDB情報を書き込むことをお忘れなく。

そして、ブラウザからこの「bigdump.php」にアクセスし、インポートするsqlファイルを選択すると、インポートが開始する。

しかし、またそこでエラーが。。。orz

Stopped at the line. At this place the current query includes more then 300 dump lines.

どうやら、クエリーが300行以上を含んでいるのがダメらしい。

この問題については、移転元サーバーのphpMyAdminでsqlファイルをエクスポートする時に、データの「作成するクエリの最大長」の値をデフォルトでは以下のように50000となっているところを、1000などに減らすと解決する。

しかし、今回のケースでは「BackWPup」で数日前に作られたsqlファイルのみが頼りで、あらたにエクスポートすることができない。

それでもあきらめるなかれ!
もうこうなったら、sqlファイルをテキストエディタで直接ゴリゴリ編集するのみ。

要はこんな感じでsqlが書かれているわけだが、一つのqueryが300行以上にならないように切ってやればいい。

例えば、↑の最後から3行目あたりで切りたかったら

行の最後の「,」を「;」に代えて、次の行に最初と同じクエリ行を書いてあげればよい。

あとは、これを300行ぐらいごとに延々と繰り返すのみ。
データによっては時間がかかるかもしれないが、これさえやれば問題はクリアできる。


サブコンテンツ