MySQL サイズの大きいdumpデータのインポート

公開:2015-05-21 / 制作・開発 / , ,
更新:2016-04-16
icatch_data

Xserverへ引っ越しの記事で紹介した通り、SQLのdumpデータが大きすぎる場合、phpMyAdminでインポートできない場合があります。

(Xserverは205kKiBが上限です。1KiB=1,024バイトなので、205×1024×1024 =約210MBですね。一方、lolipop、さくらインターネットは16MBが上限です)

 

上限を超えたらSQLデータを分割してエクスポートするか、phpMyAdminを諦めてサーバにSSHでアクセスし、直接インポートを実行することになります。

 

両方とも面倒な作業なので代案を探したら、なんとあっさり見つかりました。

BigDumpというツールを使えば、簡単にインポートできたので、本日はこちらについて紹介したいと思います。

 

どんなツールなのか

ファイルアップロードの上限設定のないWEBアプリを、対象サーバにで動くようにしてWEBブラウザ上からdumpデータをインポートするというものです。

(事前にデータベースにアクセスするための情報をプログラムファイルに記述する必要があります)

 

つまり、アップロードの上限設定を回避するだけってことです。

 

ちなみにツールはすべて英語ですが、読めなくても問題なく使えると思います。

 

まぁ何はともあれ便利なので使ってみましょう。

 

BigDumpの使い方

まずツールを取得します。

http://www.ozerov.de/bigdump/にアクセスすると、画面右上のリンクからツールのダウンロードリンクがあります。

BigBump ダウンロードページ

ダンプカーでしょうか。dumpとかけていると思います。

 

ダウンロードしたフォルダの中身を確認すると「bigdump.php」というファイルが存在するので、そちらをテキストエディタで開きます。

すると、データベースにアクセスするための情報を入力する箇所がありますので、そこにデータベースサーバ、データベース名、データベースユーザ名、データベースパスワードを入力して保存します。

 

BigBump 実行ファイルの設定

 

入力したら対象のサーバへFTPなどでインポート先のサーバに一式アップロードします。

 

アップッロードした「bigdump.php」ファイルにWEBブラウザでアクセスします。

(僕の場合は、bigpenguins.comのサーバにbigdumpというフォルダ名で一式アップロードしたので、http://bigpenguins.com/bigdump/bigdump.phpとなります。)

 

問題なければ、以下の画面が表示されますので「参照」ボタンからdumpデータを指定します。

BigBump sqlデータアップロード

 

なお、データベースにアクセスする情報に誤りがある場合、以下のエラーメッセージが表示されます。

BigBump アップロードエラー

 

アップロードが完了すると、以下の通り緑文字で成功した旨が表示され、データベースのサマリー情報が表示されます。

内容に問題なければ、「Start Import」ボタンでクリックします。

BigBump アップロード成功

 

なお、レンタルサーバによってはファイルアップロードに制限がかけられており、Webブラウザからのアップロードが出来ない場合があります。

BigBump アップロードエラー ブラウザ

 

その場合は、「bigdump.php」と同じ階層にdumpデータをFTPでアップロードすれば、以下の通りアップロードされた状態としてサマリー表示されます。

BigBump アップロード成功 FTP

 

アップロードがうまくいかない場合

以下の画面が表示される場合は、「作成するクエリの最大長」が問題の事が多いです。

そのため、「作成するクエリの最大長」の指定を変更して、再度インポート元のデータベースからdumpデータを取得する必要があります。

BigBump アップロードがうまくいかない

 

phpMyAdminでエクスポートの指定をする際、以下の画面の通り「作成するクエリの最大長」を100に指定してdumpデータを取得し、再度アップロードを実行してみてください。

phpMyAdmin dumpデータ取得設定

 

それでは、話を正常に完了した状態に戻します。

 

問題なく実行されると、以下の画面が表示され、青いバーで進行状況を教えてくれます。

BigDump リストア中

 

完了したら緑文字で完了した旨、表示してくれます。

BigDump リストア完了

 

最後に、正しくインポートされているかインポート先のphpMyAdminで確認してください。

phpMyAdminで確認

 

データベースの情報が緩めのパーミッションで設定されているPHPファイルを放置するのは大変危険なので、確認まで終わったら、FTPでアップロードしたBigDumpは削除しておきましょう。

 

最後に

いかがでしたでしょうか。

 

僕自身、SQLを分割して吐き出すのか、、、と思っていたのでとても助かりました。

 

恩返しのつもりでこういう便利ツールを作ってみようかなと思っている今日この頃です。

 


コメント一覧

コメントはありません

コメントを残す

*

© yukio iizuka All Rights Reserved...