Mysql

MySQL InnoDB 數據庫有哪些熱備份工具:Percona XtraBackup、Zmanda Recovery Manager Enterprise 或 Community 或……?

  • September 12, 2013

我管理一個 PHP/MySQL 網站:

  • 最多 500 個同時使用者/平均每小時 4000 個更新/讀取
  • 1 MySQL 社區伺服器 (5.1) - (Xeon / 16 Go RAM)
  • 1.4 Go 數據的 100 個表上的 InnoDB 儲存引擎

實際上,每 3000 萬個 cronjob 都會在文件中進行一次完整轉儲……但是由於有幾個,它會導致 PHP 出現致命錯誤(因為超時)

所以我想要一個工具來做真正的熱備份……我用Google搜尋並“stackoverflowed”,似乎“產品似乎可以完成這項工作:-Percona XTraBackup(免費)-Zmanda Recovery Manager 社區(免費)-Zmanda企業恢復管理器(500 美元)

但我看不出真正的區別和標準是什麼。我的需求似乎很簡單:如果發生崩潰而不關閉我的網站,則進行完整(或增量)備份以恢復我的數據庫……我不是 DBA,所以我需要一個“簡單”的產品。

非常感謝您的幫助。

免責聲明:我為 Percona 工作,並且是 Percona XtraBackup 開發人員之一。

您需要嘗試這些選項並查看最適合您的選項。

鑑於您的需求,我將首先評估Percona XtraBackup。它將很好地執行完整和增量熱備份。事實上,Zmanda Recovery Manager 使用 Percona XtraBackup 作為其熱 InnoDB 備份的後端。

只是閱讀您的問題並且沒有任何其他詳細資訊,我擔心您沒有任何形式的高可用性或數據庫集群。至少,您應該使用商品伺服器作為從伺服器來設置 MySQL 複製。

使用 1.4GB 的總數據,您可以做很多不同的事情:

  • 從 Slave,在午夜執行單個事務 mysqldump crontab’d。

  • 從 Slave,mysqldump 單個表如下:

    • STOP SLAVE;
    • mysqldump 每個表到一個單獨的文件中
    • START SLAVE;
  • 從 Slave 使用 Percona XtraBackup(Laurynas 是 +1,因為他第一次提到它

  • 從 Master 使用 Percona XtraBackup

  • 從 Master 執行單個事務 mysqldump crontab’d 在午夜。

當您可以編寫一些解決方案或使用 XtraBackup 等開源解決方案時,我真的看不到購買商業產品。

警告

XtraBackup 會更有意義,並且對於 1.4GB 的 InnoDB 數據應該非常快。但是,在執行它時,請確保您不會受到伺服器負載或任何數據庫/站點性能下降的影響。沒有其他資訊,知道 XtraBackup 是解決方案的唯一方法是設置它並在主伺服器上執行它。如果您確實遇到數據庫/站點性能問題,請繼續設置 MySQL 複製並在從站上執行 mysqldump 或 XtraBackup。

這是我過去關於為單個表設置 mysqldumps 的文章:

引用自:https://dba.stackexchange.com/questions/34412