2015-04-02 71 views
-1

我正在處理幾個增長速度非常快的數據庫。現在它大約是12GB,在接下來的幾個月內它將會跨越15GB。在這種情況下,我只有在cronjob中運行的傳統備份進程mysqldump。我發現整個數據庫的備份和恢復時間(幾小時甚至幾天)都有明顯的延遲。知道物理備份比邏輯快得多,我發現了這兩種,但由於一些限制和公司策略,無法實現這些備份。針對大型數據集的MySQL備份/恢復策略(大於15GB)

MySQL Enterprise Backup:這是商業

Percona XtraBackup:Percona的來到這個工具專門爲Linux環境。並非所有公司都會同意使用第三方工具,即使它是開源的。

當數據庫混合使用InnodbMyISAM時,請特別提出其他更好的備份和恢復機制。尋找一些好的建議,對快照

回答

1

我個人使用過Percona XtraBackup工具集。它執行一些簡單的過程,以在完成正常存儲時獲取innodb binlog中的所有提交數據。閱讀MySQL企業備份也可以做到這一點。

增量備份/快照可以使用Percona XtraBackup和MySQL Enterprise來完成,如果這正是您想要的。

使用只讀從站,您可以保持讀鎖的分離。如果你使用mysql免費工具進行備份,這將使你的鎖不會被主控讀取。

另一個選擇,如果你有一個奴隸是你可以關閉奴隸和rsync數據的某處備份。

+1

我不知道如果直接複製數據文件,數據的一致性如何。 – Peter 2015-04-02 13:21:02

1

首先我會嘗試使用「--single事務」使用mysqldump只要所有的表是InnoDB和你轉儲過程中不修改表結構。這將嘗試從單個時間點轉儲,但只能在不鎖定表的情況下執行。

我還沒有嘗試xtrabackup,但它看起來像會做你想要的。

你也可以嘗試設置mysql複製和從奴隸傾倒。

最後是LVM快照,但需要更多工作。