如果我有兩個具有相同定義的表格,我將如何每天備份它的數據?我可以使用MySQL管理員這個從一個表格到另一個表格的mySQL日常備份
- 上午12:00時每天演出一樣的東西,複製所有從MAIN_TABLE行至backup_table
- 這將是最好,如果它是有些改變會在作出增量備份在backup_table中記錄,我不希望新的備份消除這些更改。
感謝
如果我有兩個具有相同定義的表格,我將如何每天備份它的數據?我可以使用MySQL管理員這個從一個表格到另一個表格的mySQL日常備份
感謝
讓我們從這開始:在同一臺服務器上將數據從一個表複製到另一個表不是備份。
現在,如果您有MySQL 5.1.6或更新版本,則可以使用事件調度程序來安排此類操作。
http://dev.mysql.com/doc/refman/5.1/en/events.html
它應該是爲運行這樣
INSERT INTO
secondarydatabase.tableName
SELECT pr.* FROM
primarydatabase.tableName AS pr
LEFT JOIN
secondarydatabase.tableName AS sec
USING(primaryKeyColumn)
WHERE sec.primaryKeyColumn IS NULL
查詢一樣簡單(這將複製任何新行,在現有行的更改將不會被複制)
至於實際備份,請閱讀:
是的,你絕對可以做到這一點。看看這個頁面:http://dev.mysql.com/doc/refman/5.0/en/batch-mode.html
如果你仔細編寫你的腳本,這樣你不會丟掉表格並插入新行,你不必擔心丟失數據。如果您爲表格中的每一行都存儲了時間戳記,這使事情變得更容易。您可以使用時間戳來加載/更新自上次批處理以來更改或添加的新行。
但是,在執行插入操作之前,始終需要對當前表進行備份。如果導入成功,您可以清理備份表。
用於事件調度程序。 – rkg 2010-12-19 22:50:34