我对 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,但这应该无关紧要
最佳答案
mysqldump 仅在您想克隆整个数据库服务器时才有效,包括很好地破坏 mysql 数据库本身(所有用户、主机、数据库权限都被覆盖)。
我会结合使用:
mysql -e "显示数据库"
转储数据库列表。然后删除任何您不想备份的内容(例如 information_schema 和 mysql),并对每个剩余的名称执行
mysqldump $数据库 > $database.sql
然后您可以将文件导入特定的数据库名称:
mysql $new_database < $database.sql
关于c++ - 如何以编程方式克隆 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9407107/