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

不停機擴充 MySQL 從庫實戰:mysqldump vs XtraBackup 兩大方案深度對比

     編輯:MySQL 綜合教學

場景與目標

  • 現狀:一主一從 (192.168.18.212 / .213),MySQL 5.5、InnoDB。
  • 目標:業務增長,新增從庫 .214,**零停機、零業務影響**。
  • 操作窗口:低峰期。

方案對比總覽

維度mysqldump (邏輯備份)XtraBackup (物理備份)
備份速度慢 (SQL 解析/重建)極快 (檔案層級複製)
鎖表影響長 (FTWRL/單事務)幾乎無 (僅短暫 FLUSH TABLES)
一致性保證--single-transaction複製過程監控 Binlog 回放
適用場景中小數據量、異構遷移大數據量、生產擴容、PITR
恢復速度慢 (重放 SQL)快 (直接啟動)

方案一:mysqldump 實戰步驟

1. 主庫配置 (已就緒)

server-id=1
log-bin=mysql-bin
auto-increment-increment=1
auto-increment-offset=1
slave-skip-errors=all

2. 建立同步帳號

GRANT REPLICATION SLAVE ON *.* TO 'sync'@'192.168.18.%' IDENTIFIED BY 'sync';

3. 新從庫配置

server-id=3
log-bin=mysql-bin
auto-increment-increment=1
auto-increment-offset=1
slave-skip-errors=all

4. 主庫邏輯備份

mysqldump -uroot -p123 --routines --single-transaction --master-data=2 --databases weibo > weibo.sql
# --master-data=2:輸出 CHANGE MASTER TO 註解,含 Binlog 位點

5. 模擬備份期間新增資料

mysql> CREATE TABLE test_tb (id INT, name VARCHAR(30));

6. 新從庫導入與同步啟動

mysql -uroot -p123 -e 'CREATE DATABASE weibo;'
mysql -uroot -p123 weibo < weibo.sql

# 從備份檔提取位點
head -25 weibo.sql
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=107;

# 配置同步
CHANGE MASTER TO
  MASTER_HOST='192.168.18.212',
  MASTER_USER='sync',
  MASTER_PASSWORD='sync',
  MASTER_LOG_FILE='mysql-bin.000001',
  MASTER_LOG_POS=107;
START SLAVE;

7. 驗證

SHOW SLAVE STATUS\G;
# Slave_IO_Running: Yes, Slave_SQL_Running: Yes
SHOW TABLES; -- 包含 test_tb,證明增量同步生效

方案二:XtraBackup 實戰要點 (生產首選)


關鍵最佳實踐

  1. 備份前檢查:主庫磁碟空間、Binlog 保留天數、網路帶寬。
  2. 監控備份進度:watch -n 5 'ls -lh /backup/' 或 XtraBackup 進度條。
  3. 驗證從庫數據一致性:pt-table-checksum / pt-table-sync (Percona Toolkit)。
  4. 多從庫管理:統一用 Orchestrator 管理拓撲、自動故障轉移。
  5. 文檔化 SOP:每步命令、預期輸出、回滾方案寫入運維手冊。

總結

中小庫 ( < 100GB ) 可用 mysqldump 簡單可靠;大庫、高寫入、嚴格 RTO 場景,**XtraBackup 物理備份是唯一專業選擇**。無論哪種方案,**驗證從庫一致性與同步延遲**才是上線前的最後一道關卡。

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