Mysql

大規模備份 MySQL 的良好做法

  • January 8, 2012

我是 DB 的新手,尤其是 MySQL 的新手。大規模備份 MySQL 有什麼好的做法嗎?例如,我已經找到了一些東西。

  • 使用mysqlbackup(物理備份)而不是mysqldump
  • 將 key_buffer_size 增加到 RAM 的 20%(不僅僅是備份非常有用的選項)。
  • 看看maatkit的工具,有一些用於備份。

如果您知道任何用於 MySQL 備份共享的好東西。

不要使用 Maatkit 中的工具。(我寫的。)它們很危險。我在別處寫過這個。 Percona Toolkit是 Maatkit 的替代品,它不包括這些工具。

如果您有 MySQL Enterprise 訂閱,mysqlbackup 非常棒。如果沒有,請考慮 Percona XtraBackup,這是一個幾乎相同的免費工具。

這不是一個愚蠢的問題。您應該認真對待備份。

讓我們看看你的三個選項:

1) Use mysqlbackup (physical backup) instead of mysqldump.

MySQL 的企業備份在 Baron Schwartz 中提到過,所以我不再贅述。

2) increase key_buffer_size to 20% of RAM (not just for backup extremely helpful option).

key_buffer_size 控制 MyISAM 密鑰緩衝區的大小,用於記憶體 MyISAM 表的索引頁。它們在備份中不起任何作用。例如,如果你使用 mysqldump 和 do SHOW PROCESSLIST;,你會看到類似

SELECT /* SQL_NO_CACHE */ FROM tblname

這可以防止顛簸記憶體。否則,在備份期間,所需的數據將不必要地從 MySQL 的記憶體中推出。

3) take a look at tools of maatkit there are few for backup.

Percona 以mk-parallel-dumpmk-parallel-restore為特色。Percona 最近宣布這些工具已棄用。有些人仍然自擔風險使用它們。

實際上,我為數據庫和表編寫了自己的並行轉儲版本,並將算法發佈在 DBA StackExchange中。

Percona 現在有 Percona 工具。它不包括任何備份工具。它作為 XtraBackup 單獨銷售。恕我直言,它有利有弊,但絕對是大型安裝的理想選擇

如果您正在尋找時間點恢復,這並不理想,因為來自 XtraBackup 的備份數據的時間點基於 XtraBackup 完成的時間而不是 XtraBackup 的啟動時間。如果傳入數據的速率幾乎與備份過程本身一樣快,這一點就會很快顯現出來。從理論上講,如果傳入數據的速率與備份過程一樣快或更快,則備份過程將永遠不會完成。早在 2011 年 5 月的 Percona 現場會議上,現場直播就是這樣說的只要您可以忍受這個和您目前的傳入數據速率,那麼 XtraBackup 就是您的解決方案

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