1. 程式人生 > >39、mysql常用備份工具

39、mysql常用備份工具

備份和恢復的作用

1.做災難恢復

2.做審計

3.測試(備份資料做恢復測試)


備份型別:

根據備份時,資料庫伺服器是否線上

冷備:cold backup  伺服器處於離線狀態

溫備:warm backup 全域性施加共享鎖,只能讀,不能寫

熱備:hot backup  伺服器處於線上狀態(基於事務的儲存引擎才能熱備)


根據備份的資料集:

完全備份 full backup    備份說有資料庫及其所有表

部分備份 partial backup 只備份某張表或某張表的部分資料

根據備份時的介面(直接備份資料檔案還是通過mysql伺服器匯出資料)

物理備份:physical backup     直接複製(歸檔)資料檔案的備份方式

邏輯備份:logical backup 把資料從庫中提取出來儲存為文字檔案(邏輯備份恢復速度慢、無法保證浮點數的精度、還原資料需要重建索引,工具mysqldump)

根據備份時是備份整個資料還是僅備份變化的資料

完全備份:full backup

增量備份:incremental backup 第一次從上一個完全備份開始備份,其餘從上一個增量備份處開始

差異備份:differential backup         每次備份都是從上一個完全備份開始備份

備份策略:

選擇備份方式

選擇備份時間

考慮到恢復成本

恢復時長

考慮備份成本

鎖時間

備份時長

備份負載

備份物件:

資料

配置檔案(my.cnf)

程式碼:儲存過程、儲存函式、觸發器

OS相關的配置檔案,如crontab配置計劃及相關指令碼

主從複製跟複製相關的配置資訊

二進位制日誌檔案

常用的備份工具

mysqldump(單執行緒):邏輯備份工具

InnoDB熱備、MyISAM溫備、Aria溫備

備份和恢復過程較慢


mysqldumper:多執行緒的mysqldump

能實現完全備份、部分備份;很難實現差異或增量備份

基於lvm-snapshot

接近於熱備的工具,因為要先請求全域性鎖,而後建立快照,並在建立完成後釋放全域性鎖

使用cp、tar等工具進行物理備份

備份和恢復速度較快

很難實現差異或增量備份,並且請求全域性鎖需要等待一段時間,在繁忙的伺服器上尤其如此

       

SELECT clause INTO OUTFILE ‘/path/to/somefile’ 備份

LOAD DATA INFILE ‘/path/from/somefile’ 恢復

部分備份工具,不會備份關係定義,僅備份表中的資料

是個邏輯備份工具,快於mysqldump

Innobase: 商業備份工具,innobackup 

Xtarbackup:由Percona提供的開源備份工具

   InnoDB熱備,增量備份

   MyISAM溫備,不支援增量

   物理備份,速度快

mysqlhotcopy:幾乎冷備