2012-02-23 18 views
1

我对程序化方法(从C++应用程序)到mysql数据库克隆感兴趣。如何以编程方式克隆mysql db

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

,然后用回去:

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

与最后一个命令的问题就在于它假定还原的数据库必须调用一样,我沿调用mysqldump的远程喜欢思考的东西原始 - 所以这只适用于备份和恢复,但通常不适用于克隆数据库。

有什么方法可用于使用mysql进行数据库克隆?顺便说一句,我没有真正使用mysql,但MariaDB,但这应该没关系

回答

3

mysqldump将只能工作,如果你想克隆整个数据库服务器,包括很好地破坏MySQL数据库本身(所有用户,主机,数据库权限覆盖)。

我会使用的组合:

的mysql -e “显示数据库”

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

的mysqldump $数据库> $ database.sql

,那么你可以将文件导入到一个特定的数据库名称:

mysql $ new_database < $ database.sql