Mysql

Percona xtrabackup 要保留多少增量備份?

  • August 17, 2014

我正在尋找mysqldump用 Percona 的 Xtrabackup 替換老化且明顯次優的數據庫備份策略。這一切看起來都很簡單,除了我想知道:我應該在完整備份之間保留多少增量備份?

我意識到從一長串增量中恢復會有些乏味,但它看起來很容易編寫腳本。

我還想像,如果我以某種方式失去了作為備份集一部分的增量,我將從那時起失去所有內容。這似乎不太可能(這些人將前往 S3),但仍然是糟糕的一天。

這類事情有經驗法則嗎?每週完整備份的每小時增量(因此,每個備份集 168 個文件)對於某些工作負載來說是瘋狂的還是正常的?

FWIW,我們正在研究一個約 1000 萬行的數據庫,每天以約 20k 行的速度增長,更改的行很少(即大部分是追加)。所以增量會很小。

很難說什麼是最好的備份策略——這完全取決於您的數據價值,以及如果您失去最後 X 小時將支付的罰款。

你已經正確地發現了增量的問題——如果你失去了一個,你就會失去那個之後的所有東西。另一個問題是,如果完整被損壞,你就失去了一切。

現在,意識到這一點,計劃備份是平衡備份成本和數據失去成本的一門藝術。

如果您只依賴一個主數據庫,並且希望每小時進行一次增量備份,我建議您盡可能頻繁地進行完整備份,因為您的連結可以將它們上傳到 S3。因此,例如,如果您可以在 4 小時內將完整備份上傳到 S3,請每天執行一次。

但是,為了更好,我建議設置主從複製,並備份二進制日誌。這樣,只要您的二進制日誌保留數據,您就可以計劃使用增量。如果發生增量故障,您可以執行完整備份還原,然後重播日誌。額外的好處是在從屬設備上進行備份,因此不會對主設備(和使用者)造成性能損失。

引用自:https://serverfault.com/questions/620834