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

MySQL 主庫遷移與從庫重構實戰:舊主降級、新主升級、數據同步與驗證全記錄

     編輯:MySQL 綜合教學

MySQL 主庫遷移與從庫重構實戰:舊主降級、新主升級、數據同步與驗證全記錄

遷移背景

廢棄舊主庫,將一台從庫提升為新主,並掛載新從庫。要求業務零感知、數據零丟失。

操作步驟

1. 舊主庫設為只讀(兜底)

STOP SLAVE;
RESET MASTER;                    -- 清空舊 binlog,重新開始
mv master.info relay-log* /tmp/  -- 清理中繼文件

-- 修改 my.cnf 新增
expire_logs_days = 15
innodb_file_per_table = 1

3. 新主庫設只讀,邏輯備份

SHOW MASTER STATUS;
-- 記下 File、Position

-- 新從庫導入
mysql -u root -p < db_full_2024-01-15.sql

-- 建立複製
CHANGE MASTER TO
  MASTER_HOST='110.10.1.102',
  MASTER_USER='repl',
  MASTER_PASSWORD='repl_pass',
  MASTER_LOG_FILE='mysql-bin.000001',
  MASTER_LOG_POS=154;
START SLAVE;

5. 驗證並解鎖

階段關鍵動作風險點
準備確認備份完整、Binlog 完整、網路互通備份文件損壞、Binlog 缺失
切換舊主只讀 → 新主 RESET MASTER → 導入 → CHANGE MASTER位置錯誤導致數據不一致
驗證SHOW SLAVE STATUS、核心表行數對比、應用煙測延遲未追平、觸發器/存儲過程缺失
收尾UNLOCK TABLES、更新應用連接串、監控接入應用未切換、舊主殘留寫入


進階:GTID 方式(5.6+ 推薦)

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