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 数据库本身(所有用户、主机、数据库权限被覆盖)。

我会使用以下组合:

mysql -e "显示数据库"

转储数据库列表。然后删除任何您不想备份的内容(例如 information_schema 和 mysql),并对每个剩余名称执行

mysqldump $database > $database.sql

然后您可以将文件导入特定的数据库名称:

mysql $new_database < $database.sql

于 2012-02-23T04:39:47.640 回答