web-dev-qa-db-ja.com

MySQLデータベースの複製

120個のテーブルを持つサーバーにデータベースがあります。

新しいデータベース名とコピーしたデータを使用してデータベース全体を複製したい。

これを行う効率的な方法はありますか?

47
Vinod HC
$ mysqldump yourFirstDatabase -u user -ppassword > yourDatabase.sql
$ mysql yourSecondDatabase -u user -ppassword < yourDatabase.sql
96
user647772
mysqldump -u <user> --password=<password> <DATABASE_NAME> | mysql -u <user> --password=<password> -h <hostname> <DATABASE_NAME_NEW>
29
Kai Sternad

受け入れられた回答に似ていますが、.sqlファイルはありません:

mysqldump sourcedb -u <USERNAME> -p<PASS> | mysql destdb -u <USERNAME> -p<PASS>
11
user570605

PhpMyAdminを使用する場合

  1. コピーするデータベースを選択します(phpMyAdminホーム画面からデータベースをクリックします)。
  2. データベース内に移動したら、「操作」タブを選択します。
  3. 「データベースのコピー先:」というセクションまでスクロールします。
  4. 新しいデータベースの名前を入力します。
  5. 「構造とデータ」を選択してすべてをコピーします。あるいは、データではなく列が必要な場合は、「構造のみ」を選択できます。
  6. [コピーする前にデータベースを作成]ボックスをオンにして、新しいデータベースを作成します。
  7. [AUTO_INCREMENT値を追加]ボックスをオンにします。
  8. [進む]ボタンをクリックして続行します。
5
akos

MySQL Utilitiesパッケージにはmysqldbcopyツールがあります。 http://dev.mysql.com/doc/mysql-utilities/1.3/en/mysqldbcopy.html

3
Alexey F