如何以编程方式克隆mysql db

时间:2012-02-23 04:19:44

标签: c++ mysql mysqldump mariadb

我对程序化方法(从c ++应用程序)到mysql数据库克隆感兴趣。我正在考虑远程调用mysqldump,如:

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

然后回到:

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

最后一个命令的问题是它假定已恢复的数据库必须与原始数据库一样被调用 - 因此这只适用于备份和恢复,但通常不适用于克隆数据库。

使用mysql进行数据库克隆有哪些方法可用?顺便说一句,我不是真的使用mysql而是使用MariaDB,但这不应该重要

1 个答案:

答案 0 :(得分:3)

mysqldump只有在你想克隆整个数据库服务器时才能工作,包括很好地破解mysql数据库本身(所有用户,主机,数据库权限都被覆盖)。

我会使用以下组合:

mysql -e“show databases”

转储数据库列表。然后删除任何你不想备份的(例如information_schema和mysql),并为每个剩余的名称做

mysqldump $ database&gt; $ database.sql

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

mysql $ new_database&lt; $ database.sql