Mysql
像 MySQL 的酒保一樣備份/恢復
我想為 MySQL (MariaDB/Percona) 伺服器提供一個備份/恢復工具,該工具具有與barman為 postgresql提供的相同功能
- 定期進行完整備份(xtrabackup,但與其他人的生活也很酷)
- 收集二進制日誌(複製它們或作為從屬連接…)
- 一些“簡單”的方法,將一台伺服器恢復到特定事務或時間點的狀態(在完美的世界中,此工具將複製基本備份,然後自動重播日誌直到有問題的時間點)
會很好的事情:
- 將新伺服器添加到備份系統的簡單方法
- 備份的還原
任何提示,想法,…?
如果要進行增量備份,請使用 innobackupex
使用 innobackupex 創建增量備份
首先,您需要將完整備份作為後續增量備份的 BASE:
$ innobackupex /data/backups
這將在 /data/backups 中創建一個帶時間戳的目錄。假設備份是在一年的最後一天完成的,例如,BASEDIR 將是 /data/backups/2013-03-31_23-01-18。
注意您可以使用 innobackupex –no-timestamp 選項來覆蓋此行為,並且將在給定目錄中創建備份。如果您檢查 BASE-DIR 中的 xtrabackup-checkpoints 文件,您應該會看到如下內容:
backup_type = full-backuped from_lsn = 0 to_lsn = 1291135
要在第二天創建增量備份,請使用 –incremental 選項並提供 BASEDIR:
$ innobackupex --incremental /data/backups --incremental-basedir=BASEDIR
另一個時間戳目錄將在 /data/backups 中創建,在本例中,
/data/backups/2013-04-01_23-01-18 包含增量備份。我們將此稱為 INCREMENTAL-DIR-1。
如果您檢查 INCREMENTAL-DIR-1 中的 xtrabackup-checkpoints 文件,您應該會看到如下內容:
backup_type = incremental from_lsn = 1291135 to_lsn = 1352113
第二天創建另一個增量備份將是類似的,但這次之前的增量備份將是基礎:
$ innobackupex --incremental /data/backups --incremental-basedir=INCREMENTAL-DIR-1
產生(在本例中)/data/backups/2013-04-02_23-01-18。為簡單起見,我們將使用 INCREMENTAL-DIR-2。