DBの移行について。

大量のデータ(100万件くらい)あるデータをAサーバから物理的に別のBサーバに移行する方法を教えてください。

どちらも、ホスティングサービスでroot権限はありません。

mysql4でphpMyAdminは使えます。

データ量が大きすぎて、分割しないとデータのエクスポートさえできません。

地道に、 分割して、エクスポート、sqlでインポートを繰り返すのがいいのでしょうか?

回答の条件
  • 1人2回まで
  • 登録:2007/07/22 14:25:54
  • 終了:2007/07/23 14:19:14

回答(1件)

id:tombe No.1

tombe回答回数38ベストアンサー獲得回数72007/07/22 16:30:53

ポイント60pt

phpMyAdminはhttpプロトコルなので制限が多いかもしれません。

現にエクスポートできないのでしたら、phpMyAdmin以外の他の手段になりますね。

クライアントマシンをWindowsと仮定しますが、WindowsマシンにMySQLをインストールしてクライアントプロンプトからエクスポート/インポートコマンドを叩くのが現実的だと思います。

クライアントプロンプトだけインストールするのは面倒くさいかもしれませんので、MySQLサーバーごと全部インストールするのが楽かもしれません。


MySQLダウンロード

http://dev.mysql.com/downloads/mysql/4.1.html


DOS窓での簡単な使い方

http://www.geocities.jp/tweedamp2004/mysql/mysql.html


あるいは、いっそGUIツールを使うのが後々便利です。

http://dev.mysql.com/downloads/gui-tools/5.0.html

(5.0とありますが、MySQL4サーバーにも接続できます)


どちらを使うにしても、接続先ホスト名を指定する形になります。

ここで問題になるのは、ホスティングサービスなので恐らく外部からの接続が許可されていない可能性が高い事ですね。

root権限が無いので設定も変えられないから、そのままでは接続できません。

従って、以下のようにsshのポートフォワーディングを利用する必要があります。

この方法は、sshでログイン出来る事が大前提になりますので、もしsshログイン出来ない場合は、この回答は無視してください。


PuTTYを使ったポートフォワーディングの概要

http://www.pakunet.jp/ssh_forward_for_putty


PuTTYダウンロード

http://hp.vector.co.jp/authors/VA024651/PuTTYkj.html


ポートフォワーディングの一般的説明は上記URLで割愛します。以下はWindowsマシンからサーバーのMySQLに接続する手順です。

1.PuTTYインストール/設定

インストールや基本的な設定をは難しくないと思いますので普通にインストールしてください。

肝心なのは、SSHトンネルの設定です。

源ポート=上記URLの例にあるように、とりあえず10000でいいでしょう。

送り先=localhost:3306


2.PuTTYでログイン

設定が済んだらサーバーにsshログインします。

パスワード認証が済んでログインしている間だけ、sshトンネルが有効になりますので、作業が終わるまでログインした状態で放置しておきます。


3.MySQLクライアントを起動

ホスト名とポート番号を指定してMySQLクライアントを起動します。

ホスト名は localhost 、ポート番号は(1)の源ポートになります。

  mysql --host=localhost --port=10000

GUIツールを使う場合も同様です。


4.エクスポート/インポート作業

1~3が成功すれば、後は好きなように作業するだけです。


5.後片付け

クライアントソフトを終了して、PuTTYも終了。以上。


最初慣れない間は1~3で失敗するかもしれませんが、この方法をマスターしておくと後々楽です。

phpXXAdminはSSLを通さない限り暗号化されませんし、Webベースなので使い勝手も良くありません。

id:dingding

とても詳しくありがとうございます。

是非挑戦してみます。

2007/07/22 20:12:40
  • id:b-wind
    phpMyAdmin 以外に何が使えるかが分からないので答えにくいですね。
    SSH 等が使えるなら手段は色々広がります。

    phpMyAdmin しかないなら、Export 時にファイルを圧縮するオプションを使うのと、地道に Export/Import を繰り返すしかないです。
  • id:takahiro4
    そのやり方で十分最善だって言えないですかね。
  • id:dingding
    ありがとうございます。

    SSHなどが使えないようなので、地道にエクスポート&インポートをしようと思います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません