Mysql
如何使用 mysqldump 增加 500GB 數據庫的快速備份和恢復?
有一個大小為500GB的數據庫A。數據庫 A 中的表同時包含 MyISAM 和 INNODB 表。MyISAM 表是主表,Innodb 表是主要事務表。
使用 mysql dump 進行備份和恢復需要很長時間或幾天。
- max_allowed_packet=1G
- foreign_key_checks=0
- auto_commit = 關閉
但該連結還推薦了 Percona 的 XtraBackup,它速度更快,對已在使用的表沒有鎖定,也沒有時間進行恢復。對於 500GB 的數據,我更喜歡 Percona XtraBackup 快速高效,除非您想將它們轉換為 innodb_file_per_table 模型(如果它不是來自現有數據庫伺服器)。下面的連結解釋瞭如何進行。
http://www.percona.com/doc/percona-xtrabackup/innobackupex/creating_a_backup_ibk.html
我認為問題在於如何從 mysqldump 的 ceated 轉儲文件中更快地恢復,而不是不同的備份解決方案。
其中一種方法是,您可以在架構中創建表組,並為每個組創建一個單獨的數據庫使用者,並使用 MySQL 權限不允許將表插入到除一個數據庫使用者之外的所有使用者。
這是一種經過驗證的、快速的、幾乎並行的技術,但不能 100% 確定從 500G 恢復需要多長時間。但是恕我直言,你需要一些平行的東西。有關範例,請參見下面的連結。