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:幾乎冷備