1

mysqlデータベースのクローン作成への(c ++アプリケーションからの)プログラムによるアプローチに興味があります。mysqldumpをリモートで呼び出す際に次のようなことを考えていました。

mysqldump -u root -p --all-databases > C:\MySQL_Backup.sql

その後、次のように戻ります。

mysql --user=root --password=password < c:\ MySQL_Backup.sql

最後のコマンドの問題は、復元されたデータベースを元のデータベースと同じように呼び出す必要があると想定していることです。したがって、これは実際にはバックアップと復元でのみ機能し、データベースのクローン作成では一般的に機能しません。

mysqlを使用したデータベースのクローン作成にはどのようなアプローチが利用できますか?ところで、私は実際にはmysqlではなくMariaDBを使用していますが、それは問題ではありません

4

1 に答える 1

3

mysqldumpは、mysqlデータベース自体(すべてのユーザー、ホスト、db権限が上書きされる)を適切に複製することを含め、DBサーバー全体のクローンを作成する場合にのみ機能します。

私は次の組み合わせを使用します:

mysql-e"データベースの表示"

データベースのリストをダンプします。次に、バックアップしたくないもの(information_schemaやmysqlなど)を削除し、残りの名前ごとに削除します。

mysqldump $ database> $ database.sql

次に、ファイルを特定のデータベース名にインポートできます。

mysql $ new_database <$ database.sql

于 2012-02-23T04:39:47.640 に答える