首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 資料庫備份還原:從檔案複製到 mysqldump 完整對比

     編輯:MySQL 資料庫相關知識

兩大備份流派

維度物理備份(檔案複製)邏輯備份
原理直接複製資料目錄檔案匯出 SQL 語句重建資料
工具cp/rsync/xtrabackup/快照mysqldump/mydumper
速度極快(受限於磁碟 I/O)較慢(需解析/執行 SQL)
跨版本/架構困難(需相同版本、架構、配置)優(純文字 SQL,高相容)
單表/單庫還原困難容易(編輯 SQL 檔即可)
一致性需鎖表/快照/熱備工具--single-transaction 熱備
檔案大小含索引、空洞,較大可壓縮,通常較小

方法一:檔案複製法(僅限特定條件)

適用條件

  • MySQL 版本、編譯參數、配置完全一致
  • 資料表引擎相同(MyISAM 較安全,InnoDB 需注意 tablespace)
  • 可停機或使用 LVM/ZFS 快照

操作步驟

# 來源主機
systemctl stop mysqld
rsync -av /var/lib/mysql/ /backup/mysql_$(date +%F)/
systemctl start mysqld

# 目標主機
systemctl stop mysqld
rsync -av /backup/mysql_2023-01-01/ /var/lib/mysql/
chown -R mysql:mysql /var/lib/mysql
systemctl start mysqld

風險提醒

  • InnoDB ibdata1、ib_logfile* 必須完整複製
  • 若啟用 innodb_file_per_table,.ibd 檔案需與表定義匹配
  • 不同 CPU 架構(x86 vs ARM)不可直接複製
  • 生產環境強烈建議使用專業工具而非手動複製

方法二:mysqldump 官方標準備份

核心參數詳解

參數作用建議
--single-transactionInnoDB 熱備份關鍵,一致性快照不鎖表生產必加
--routines --triggers --events包含預存程序/觸發器/事件完整備份必加
--master-data=2輸出 CHANGE MASTER 語句(註解形式),記錄 binlog 位置複寫環境必加
--quick逐行讀取,避免大結果集佔記憶體大表必加
--compress客戶端-伺服器傳輸壓縮遠端備份建議
--default-character-set=utf8mb4指定字元集避免亂碼統一加上

生產環境標準指令

mysqldump --single-transaction --routines --triggers --events \
  --master-data=2 --quick --compress \
  --default-character-set=utf8mb4 \
  -u backup_user -p \
  --databases db1 db2 | gzip > full_backup_$(date +%F_%H-%M).sql.gz

還原操作

# 建立資料庫
mysql -u root -p -e "CREATE DATABASE db1 CHARACTER SET utf8mb4;"

# 還原(解壓管道直導)
zcat full_backup_2023-01-01_02-00.sql.gz | mysql -u root -p db1

# 或進入 mysql 執行
mysql -u root -p db1 < full_backup.sql

進階備份策略

  1. 分層備份:每日全備 + 每小時增量(binlog)
  2. 並行備份:mydumper 多執行緒並行,大庫備份快 5-10 倍
  3. 物理熱備:Percona XtraBackup 不鎖表、支援增量、還原快,TB 級首選
  4. 雲端快照:AWS EBS/RDS 快照、GCP Persistent Disk Snapshot、阿里雲快照

備份驗證與演練

  • 自動化腳本:備份完成 → 校驗檔案大小/檢查碼 → 發送通知
  • 定期(月/季)在測試環境完整還原驗證
  • 建立 RTO/RPO 目標:RTO(恢復時間目標)、RPO(恢復點目標)
  • 異地備份:至少保留一份異地副本(跨可用區/跨區域)

選擇建議

場景推薦方案
中小型庫(< 100GB)、需跨版本遷移mysqldump + 壓縮
大型庫(> 500GB)、極速還原要求XtraBackup 物理熱備
雲端託管資料庫雲廠商自動備份 + 手動快照
高可用複寫架構從庫備份 + Binlog 歸檔

「備份不演練,等於沒備份。」建立標準化流程、自動化執行、定期驗證,才是資料安全的真正保障。

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