mysqlでデータベースを複製する方法を教えてください。ルート権限はあります。


サーバ内のAデータベースを複製してBデータベースを作りたいと思っています。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/08/15 02:30:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:hiramatsu_kg No.1

回答回数424ベストアンサー獲得回数3

id:dingding

ありがとうございます。

これは複製するという意味でも使えるのでしょうか?

2007/08/08 10:37:07
id:Yota No.2

回答回数453ベストアンサー獲得回数28

ポイント23pt

http://dev.mysql.com/doc/refman/4.1/ja/mysqldump.html

いったん元のデータベースをSQL文にして、別のデータベースで実行する。もとのDBをA新しいデータベースをB、ユーザ名rootパスワードpassとすると、

$mysqldump -uroot -ppass -r bkup.sql -l A

$mysql -uroot -ppass -e "CREATE DATABASE B"

$mysql -uroot -ppass B < bkup.sql

id:dingding

ありがとうございます。

これはAデータベースが巨大でも大丈夫なものでしょうか?

100万レコードあるテーブルがあるので、途中で止まらないかちょっと心配ではあります。

2007/08/08 10:36:58
id:KUROX No.4

回答回数3542ベストアンサー獲得回数140

ポイント22pt

■大きなデータベースの移動

http://karasu.net/blog/875

  • id:Yota
    -qを使ったほうがよさそうです。
    「クエリをバッファせず、stdou に直接ダンプする。これを行うには、mysql_use_result() を使用する。大きなダンプの際に特に便利である。」

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

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

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

回答リクエストを送信したユーザーはいません