首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 資料庫備份種類與常用工具匯總(一)

     編輯:MySQL 綜合教學

MySQL 資料庫備份種類與常用工具匯總(一)

備份是資料庫生存底線。依據資料量、業務容忍度、恢復目標(RPO/RTO)選擇適當策略。

一、按備份範圍分類

類型內容耗時/空間適用場景頻率建議
完全備份整個資料庫(結構+資料+索引+視圖+程序)最大基準線、災難恢復每週 1 次
增量備份自上次備份(完全/增量)以來的變更最小高頻保護、RPO 分鐘級每小時/每天
差異備份自上次完全備份以來的所有變更中等恢復較簡單(僅需完全+最新差異)每天 1 次
檔案級備份複製資料檔(.ibd/.MYD/.frm 等)視檔案大小極大資料庫、檔案系統快照配合存儲快照

二、按資料庫狀態分類

類型狀態特點工具
冷備份資料庫關閉最簡單、一致性最好、需停機cp、tar、rsync
熱備份資料庫運行中不影響業務、依賴 Binlog/Redo Logxtrabackup、MEB、LVM 快照
邏輯備份運行中導出 SQL/CSV、跨版本遷移易、恢復慢mysqldump、mydumper、SELECT INTO OUTFILE

三、常用備份工具對比

工具類型優點缺點適用場景
mysqldump邏輯官方內建、跨版本、可壓縮、單表/單庫靈活大數據慢、單線程、鎖表(無 --single-transaction)中小資料庫(<50GB)、遷移、開發環境
mydumper/myloader邏輯多線程並行、壓縮、一致性快照、速度快 5-10 倍需額外安裝、恢復需 myloader大數據庫邏輯備份首選
Percona XtraBackup物理熱備不鎖表、增量備份、壓縮、流式傳輸、恢復快僅支援 InnoDB/XtraDB、需相同版本恢復生產環境大數據庫首選
MySQL Enterprise Backup (MEB)物理熱備官方支援、壓縮、加密、增量、單表恢復、GUI商業授權、僅 Enterprise 版企業級生產、合規要求
LVM/ZFS 快照物理秒級建立、不影響 IO、可掛載驗證需檔案系統支援、快照保留空間雲端/虛擬化環境
binlog + 完全備份PITR任意時間點恢復需完整 binlog 鏈、恢復需重放耗時核心業務 RPO=0

四、生產環境建議策略

  1. 每日 1 次完全備份(xtrabackup/mydumper)+ 每小時增量備份(xtrabackup --incremental)
  2. 保留策略:完全備份 30 天、增量 7 天、Binlog 7 天
  3. 異地備份:同步至異地儲存(S3、NFS、異地機房)
  4. 定期驗證:每月至少 1 次恢復演練,記錄 RTO
  5. 監控告警:備份成功/失敗、耗時、檔案大小、磁碟空間

五、mysqldump 關鍵參數速查

# 完全備份(單線程,含結構與資料)
mysqldump -uroot -p --single-transaction --master-data=2 --flush-logs --routines --triggers --events -A > full_$(date +%F).sql

# 僅結構
mysqldump -uroot -p -d -A > struct_$(date +%F).sql

# 單表
mysqldump -uroot -p db table > table_$(date +%F).sql

# 壓縮
mysqldump ... | gzip > backup_$(date +%F).sql.gz

關鍵參數:--single-transaction(InnoDB 一致性不鎖表)、--master-data=2(輸出 CHANGE MASTER 註釋)、--routines/triggers/events(導出程序/觸發器/事件)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved