2012-02-23 44 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