2009-01-03 61 views
12

我們使用MySQL 5.0版本,大部分表格都是InnoDB。我們運行復制到從服務器。我們正在考慮每天備份MySQL日誌文件。在MySQL中執行增量備份的最佳方式是什麼?

問題

  • 是否有這樣做增量備份,而無需使用日誌文件的任何其他方式?
  • 進行增量備份時的最佳做法是什麼?

回答

7

AFAIK進行增量備份的唯一方法是使用二進制日誌。如果要進行完整備份(InnoDB hotcopy),則還有其他選項,但增量意味着您需要記錄所有已完成的事務。

您需要問自己爲什麼要備份數據。既然你有一個複製的奴隸,我認爲備份主要是爲了在意外刪除的情況下還原數據?

我可能會每隔1小時旋轉一次日誌並對其進行備份。意思是,恢復會使數據最多保留1小時,並且可以恢復到自上次完整快照以來的任何時間點。

+2

那麼我們該怎麼做?你在PHP/MySQL中有一些示例代碼嗎? – Tarik 2016-11-04 19:03:56

0

您可以使用mysqldump定期轉儲模式,使用始終是相同的文件名和路徑對每個方案(即替換最新的一個)

然後結合起來,與支持增量/差異備份,對任何備份工具例如rdiff備份,重複,Duplicati或檳榔備份。從口是心非文檔的一個例子:

因爲口是心非使用librsync,增量檔案是空間 高效,只記錄已更改的文件的部分,因爲 上次備份

這樣,你的第一個備份將是第一個完整轉儲的壓縮副本,第二個將包含第一個和第二個轉儲等的壓縮差異。您可以恢復任何時間點的mysqldump文件,然後將該文件恢復到MySQL中。

相關問題