1. ホーム
  2. マイスル

[解決済み】MySQL。同じMySqlインスタンスでMySQLデータベースをクローンする

2022-04-10 16:29:58

質問

現在のデータベースをコピーするスクリプトを書きたいのですが、どうすればいいですか? sitedb1 から sitedb2 を同じmysqlデータベースインスタンスで使用することができます。私はsitedb1をSQLスクリプトにダンプすることができることを知っています。

mysqldump -u root -p sitedb1 >~/db_name.sql

にインポートし、それを sitedb2 . 最初のデータベースをSQLファイルにダンプすることなく、もっと簡単な方法はないでしょうか?

どのように解決するのですか?

マニュアルにあるように データベースのコピー は、ダンプを直接mysqlクライアントにパイプすることができます。

mysqldump db_name | mysql new_db_name

MyISAM を使用している場合は 可能 ファイルをコピーしますが、それはお勧めしません。 ちょっと怪しいですから。

他の様々な良い回答から統合

両方 mysqldumpmysql コマンドは、接続の詳細を設定するためのオプション(その他多数)を受け付ける、といった具合です。

mysqldump -u <user name> --password=<pwd> <original db> | mysql -u <user name> -p <new db>

また、新しいデータベースがまだ存在しない場合は、あらかじめ作成しておく必要があります(たとえば echo "create database new_db_name" | mysql -u <dbuser> -p ).