MySQL サイズの大きいdumpデータのインポート ~BigDumpの利用~
更新:2017-02-11
Xserverへ引っ越しの記事で紹介した通り、SQLのdumpデータが大きすぎる場合、phpMyAdminでインポートできない場合があります。
(Xserverは205kKiBが上限です。1KiB=1,024バイトなので、205×1024×1024 =約210MBですね。一方、lolipop、さくらインターネットは16MBが上限です)
特にWordPressなどDBを利用したCMSは、いろんなテーブルに書き込みがあるため、記事数が100件を超えると結構な容量になります。
上限を超えたらSQLデータを分割してエクスポートするか、phpMyAdminを諦めてサーバにSSHでアクセスし、直接インポートを実行することになります。
両方とも面倒な作業なので代案を探したら、なんとあっさり見つかりました。
BigDumpというツールを使えば、簡単にインポートできたので、本日はこちらについて紹介したいと思います。
どんなツールなのか
ファイルアップロードの上限設定のないWebアプリを、対象サーバにで動くようにしてWebブラウザ上からdumpデータをインポートするというものです。
(事前にデータベースにアクセスするための情報をプログラムファイルに記述する必要があります)
つまり、アップロードの上限設定を回避するだけってことです。
ちなみにツールはすべて英語ですが、読めなくても問題なく使えると思います。
まぁ何はともあれ便利なので使ってみましょう。
BigDumpの使い方
まずツールを取得します。
http://www.ozerov.de/bigdump/にアクセスすると、画面右上のリンクからツールのダウンロードリンクがあります。
ダンプカーでしょうか。dumpとかけていると思います。
ダウンロードしたフォルダの中身を確認すると「bigdump.php」というファイルが存在するので、そちらをテキストエディタで開きます。
すると、データベースにアクセスするための情報を入力する箇所がありますので、そこにデータベースサーバ、データベース名、データベースユーザ名、データベースパスワードを入力して保存します。
入力したら対象のサーバへFTPなどでインポート先のサーバに一式アップロードします。
アップッロードした「bigdump.php」ファイルにWebブラウザでアクセスします。
(僕の場合は、bigpenguins.comのサーバにbigdumpというフォルダ名で一式アップロードしたので、http://bigpenguins.com/bigdump/bigdump.phpとなります。)
問題なければ、以下の画面が表示されますので「参照」ボタンからdumpデータを指定します。
なお、データベースにアクセスする情報に誤りがある場合、以下のエラーメッセージが表示されます。
アップロードが完了すると、以下の通り緑文字で成功した旨が表示され、データベースのサマリー情報が表示されます。
内容に問題なければ、「Start Import」ボタンでクリックします。
なお、レンタルサーバによってはファイルアップロードに制限がかけられており、Webブラウザからのアップロードが出来ない場合があります。
その場合は、「bigdump.php」と同じ階層にdumpデータをFTPでアップロードすれば、以下の通りアップロードされた状態としてサマリー表示されます。
アップロードがうまくいかない場合
以下の画面が表示される場合は、「作成するクエリの最大長」が問題の事が多いです。
そのため、「作成するクエリの最大長」の指定を変更して、再度インポート元のデータベースからdumpデータを取得する必要があります。
phpMyAdminでエクスポートの指定をする際、以下の画面の通り「作成するクエリの最大長」を100に指定してdumpデータを取得し、再度アップロードを実行してみてください。
それでは、話を正常に完了した状態に戻します。
問題なく実行されると、以下の画面が表示され、青いバーで進行状況を教えてくれます。
完了したら緑文字で完了した旨、表示してくれます。
最後に、正しくインポートされているかインポート先のphpMyAdminで確認してください。
データベースの情報が緩めのパーミッションで設定されているPHPファイルを放置するのは大変危険なので、確認まで終わったら、FTPでアップロードしたBigDumpは削除しておきましょう。
最後に
いかがでしたでしょうか。
僕自身、SQLを分割して吐き出すのか、、、と思っていたのでとても助かりました。
恩返しのつもりで、こういう便利ツールを作ってみようかなと思っている今日この頃です。
コメント一覧
コメントはありません