Hatena::ブログ(Diary)

N次ホップの感想文

2010-10-19

phpMyAdminでインポートできない大きなSQLファイルを、BigDumpで簡単インポート

以前そこそこ大きなMySQLのダンプを別サーバインポートしようとしました。

普段利用しているphpMyAdmin経由でインポートしようとしたのですが、やはりファイルサイズの制限やらタイムアウトやらで引っかかりました。もちろんphp.iniを編集しても良いのですが、以前も設定しなおした記憶が蘇ります…。そんなときBigDumpなるものを耳にしたので、試しに利用してみました。

結果。とっても簡単に扱えてすぐにインポートが終わりました。ご満悦。ということで、今回はBigDumpの使い方をメモしておこうと思います!

ローカルなら

mysql hogedb < hogedb.sql -u root -p

の一行で済んだのに…

BigDumpとは

phpフリーソフトで、巨大なSQLファイルを分割してインポートしてくれます。

公式サイト:http://www.ozerov.de/bigdump.php

使い方目次

  1. DL・解凍
  2. bigdump.php編集($db_server, $db_name, $db_username, $db_password, $db_connection_charset)
  3. サーバ上に任意のディレクトリを作成し、作成ディレクトリ以下にbigdump.phpsqlファイルをアップロード
  4. ブラウザからbigdump.phpアクセス
  5. "Start Import"クリックでインポート開始
  6. ディレクトリを削除しておしまい

使い方詳細

1. DL・解凍

前述の公式サイトからDLします。

http://www.ozerov.de/bigdump.php

解凍すると、bigdump.phpがこんにちは。

2. bigdump.php編集

bigdump.php を編集しましょう。

編集するといってもたかだか5行程度で事足りました。

38〜41行目付近。

$db_server   = '';    //サーバ名
$db_name     = '';    //DB名
$db_username = '';    //ユーザ名
$db_password = '';    //パスワード

参考サイトさんではこの4行で良いとありましたが、私は文字化けを起こしてしまったので、文字コードも設定しました。

66行目付近。

$db_connection_charset = 'utf8';

設定はたったこれだけ。

3. サーバ上に任意のディレクトリを作成し、作成ディレクトリ以下にbigdump.phpsqlファイルをアップロード

サーバ上に任意のディレクトリを作成します。

そして、作成したディレクトリ以下に、bigdump.phpsqlファイルをアップロードしてください。

例えば…

"bigdump"という名前のフォルダを作成。

http://hogehoge/bigdump/bigdump.php

http://hogehoge/bigdump/hogehoge.sql

といった具合です。

4. ブラウザからbigdump.phpアクセス

さっきの例ですと、

http://hogehoge/bigdump/bigdump.php

と打ち込みましょう。

5. "Start Import"クリックでインポート開始

設定が正しければ、アップロードしたダンプファイルが一覧に表示されているはずです。

対象ファイルを見ると、"Start Import into 'DB名' at 'サーバ名'"と書いてあるので、Start Importをクリック。

これだけでインポートされます。

どこまでインポートできたか%が表示されるのがちょっと嬉しい。

6. ディレクトリを削除しておしまい

データがちゃんと入っているか確認。

最後に、bigdump.phpとダンプファイルを削除しておきましょう。

おしまい。


所要時間数分。ありがたや、ありがたや。またお世話になるかも。


参考サイト

データベースを引っ越す。容量でかくてphpMyAdminインポートできない場合の対処法 | modx@GSF

ページが見つかりませんでした : NAGAOKA STATION

新しくブログ始めます。

こんにちは。

istwar改め@moko_istです。

夏季休暇を終えて、新しくWebアプリを作っています。丁度良い区切りですので、今日から学習内容はこちらの方でまとめてようと思います。

しばらくはテーマをちょこちょこ変更する可能性が高いです…。

よろしくお願いします。