Linux MySQL 資料備份的型別、方式以及方法 解析
阿新 • • 發佈:2021-01-09
文章目錄
資料備份的型別、方式以及方法
備份的作用
- 備份:能夠防止由於機器故障以及人為誤操作帶來的資料丟失,例如將資料庫檔案儲存在了其它地方。
- 冗餘: 資料有多份冗餘,但不等備份,只能防止機器故障帶來的資料丟失,例如主從模式、資料庫叢集。
MySQL資料備份需要重視的內容
- 備份內容 databases Binlog my.cnf
- 所有備份資料都應放在非資料庫本地,而且建議有多份副本。
- 測試環境中做日常恢復演練,恢復較備份更為重要。
備份過程中必須考慮的因素
- 資料的一致性
- 服務的可用性
MySQL 備份型別
物理備份
直接複製資料庫檔案,適用於大型資料庫環境,不受儲存引擎的限制,但不能恢復到不同的MySQL版本。
1,熱備(hot backup)
線上備份,資料庫處於執行狀態,這種備份方法依賴於資料庫的日誌檔案
- 對應用基本無影響(但是效能還是會有下降,所以儘量不要在主上做備份,在從庫上做)
2,冷備(cold backup)
備份資料檔案,需要停機,是在關閉資料庫的時候進行的
- 備份 datadir 目錄下的所有檔案
3,溫備(warm backup)
- 針對myisam的備份(myisam不支援熱備),備份時候例項只讀不可寫,資料庫鎖定表格(不可寫入但可讀)的狀態下進行的
- 對應用影響很大
- 通常加一個讀鎖
邏輯備份
備份的是建表、建庫、插入等操作所執行SQL語句(DDL DML DCL)
- 適用於中小型資料庫,效率相對較低。
物理和邏輯備份的區別
| | 邏輯備份 | 物理備份 | ---------- | -------------------------------- | ---------------------- | 備份方式 | 備份資料庫建表、建庫、插入sql語句 | 備份資料庫物理檔案 | 優點 | 備份檔案相對較小,只備份表中的資料與結構 | 恢復速度比較快 | 缺點 | 恢復速度較慢(需要重建索引,儲存過程等) | 備份檔案相對較大(備份表空間,包含資料與索引) | 對業務影響 | I/O負載加大 | I/O負載加大 | 代表工具 | mysqldump | ibbackup、xtrabackup、mysqlbackup
MySQL 備份工具
1,ibbackup
- 官方備份工具
- 收費
- 物理備份
2,xtrabackup
- 開源社群備份工具
- 開源免費,上面的免費版本(老版本有問題,備份出來的資料可能有問題)
- 物理備份
3,mysqldump
- 官方自帶備份工具 開源免費
- 邏輯備份(速度慢)
4,mysqlbackup
- mysql 官方備份工具
- innodb 引擎的表mysqlbackup可以進行熱備
- 非innodb表mysqlbackup就只能溫備
- 物理備份,備份還原速度快
- 適合大規模資料使用
物理備份的方式
1,完全備份
完整備份
每次對資料進行完整的備份,即對整個資料庫的備份、資料庫結構和檔案結構的備份,儲存的是備份完成時刻的資料庫,是差異備份與增量備份的基礎。
- 優點:備份與恢復操作簡單方便,恢復時一次 恢復到位,恢復速度快
- 缺點:佔用空間大,備份速度慢
2,增量備份
每次備份上一次備份到現在產生的新資料
只有那些在上次完全備份或者增量備份後被修改的資料才會被備份。以上次完整備份或上次的增量備份的時間為時間點,僅備份這之間的資料變化.
- 特點:因而備份的資料量小,佔用空間小,備份速度快。但恢復時,需要從上一次的完整備份起按備份時間順序,逐個備份版本進行恢復,恢復時間長,如中間某次的備份資料損壞,將導致資料的丟失。
3,差異備份
只備份跟完整備份不一樣的
備份那些自從第一次次完全備份之後被修改過的所有檔案,備份的時間起點是從第一次次完整備份起,且以後每次備份都是和第一次完整備份進行比較(注意是第一次,不是上一次),備份自第一次完整備份以來所有的修改過的檔案。備份資料量會越來越大。
- 特點:佔用空間比增量備份大,比完整備份小,恢復時僅需要恢復第一個完整版本和最後一次的差異版本,恢復速度介於完整備份和增量備份之間。
4,三種備份的差異
- 簡單的講,完整備份就是不管三七二十一,每次都把指定的備份目錄完整的複製一遍,不管目錄下的檔案有沒有變化;
- 增量備份就是每次將之前(第一次、第二次、直到前一次)做過備份之後有變化的檔案進行備份;
- 差異備份就是每次都將第一次完整備份以來有變化的檔案進行備份。