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

MySQL 備份與還原兩大法:mysqldump 邏輯備份 vs 原始檔案物理備份完整比較

     編輯:關於SqlServer

MySQL 備份策略分為**邏輯備份**(mysqldump)與**物理備份**(原始資料檔案)。本文詳述兩種方法的操作步驟、關鍵檔案(relay-log.info)、還原流程、SELinux 權限坑與故障排查。

方法一:mysqldump 邏輯備份(跨版本、跨平台、可編輯)

備份步驟

# 1. 停止 Slave 複寫(確保一致性點)
mysqladmin stop-slave -uroot -p

# 2. 完整邏輯備份所有資料庫
mysqldump --all-databases > fulldb.dump

# 3. 重新啟動 Slave
mysqladmin start-slave -uroot -p

# 4. 同步備份 relay-log.info(記錄主庫 Binlog 位置,還原 Slave 關鍵)
# 內容範例:mysql-bin.000002  3968
tar -czf /tmp/dbdump.tar.gz ./fulldb.dump ./mysql-relay-log.info

還原步驟

# 1. 匯入邏輯備份
mysql -uroot -p < /root/dbdump.db

# 2. 設定複寫起點(依 relay-log.info 內容)
STOP SLAVE;
CHANGE MASTER TO 
    MASTER_HOST='192.168.10.201',
    MASTER_USER='slave_user',
    MASTER_PASSWORD='abc@DEF',
    MASTER_LOG_FILE='mysql-bin.000002',
    MASTER_LOG_POS=3968;
START SLAVE;

# 3. 驗證
SHOW SLAVE STATUS\G
# 關鍵:Slave_IO_Running: Yes / Slave_SQL_Running: Yes

方法二:物理備份(極速、需相同版本/架構/配置)

備份步驟

# 1. 停止服務(確保檔案一致性)
systemctl stop mariadb

# 2. 完整封存資料目錄(含 SELinux/ACL/xattr 屬性)
tar --selinux --acls --xattrs -czPf /root/dbbackup.tar.gz /var/lib/mysql/

# 3. 重新啟動服務
systemctl start mariadb

還原步驟

systemctl stop mariadb
tar --selinux --acls --xattrs -xzPf /root/dbbackup.tar.gz -C /
systemctl start mariadb

關鍵參數:--selinux --acls --xattrs 保留安全性屬性,否則還原後 mysqld 啟動失敗(Errcode: 13 Permission denied)。

故障排查:SELinux 權限問題

錯誤徵狀:

[ERROR] mysqld: File '/var/lib/mysql/mysql-bin.index' not found (Errcode: 13)
[ERROR] Aborting

檢查:ls -Z mysql-bin.index 顯示 unconfined_u:object_r:var_lib_t:s0 等標籤缺失或錯誤。

解決方案:

  1. **備份/還原時加參數**:tar --selinux --acls --xattrs(推薦,保留原標籤)。
  2. **暫時關閉 SELinux** 編輯 /etc/selinux/config 設 SELINUX=disabled 並重啟(生產環境謹慎評估)。
  3. **恢復標籤**:restorecon -Rv /var/lib/mysql。

兩法比較總結

維度mysqldump (邏輯)Physical Backup (物理)
速度慢(SQL 解析/重建索引)極快(檔案層級複製)
跨版本/平台支援良好嚴格要求相同版本、架構、配置
備份粒度資料庫/資料表/WHERE 條件整個執行個體/資料目錄
還原彈性可編輯 SQL、部分匯入整體還原,難以部分恢復
一致性需鎖表/停 Slave需停服務或檔案系統快照
適用場景邏輯遷移、異構平台、審計、小/中型庫大型庫、同架構叢集、極速 RTO 需求

最佳實務建議

  • **雙軌並行**:每日 mysqldump 邏輯備份(異地存放),每週/每日物理備份(本地快速恢復)。
  • **驗證還原**:定期演練還原流程,確認備份可用性。
  • **複寫拓撲**:relay-log.info / master.info 必須納入備份,否則 Slave 重建極其困難。
  • **加密傳輸**:備份檔案跨網路傳輸時使用 gpg 或 openssl 加密。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved