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

MySQL Master-Slave 複制架構分析:原理、優勢與權衡

     編輯:MySQL 資料庫相關知識

Scale-out 動機

透過增加資料庫節點分攤讀壓力,提升系統伸縮性、降低成本。代價:架構複雜度上升、維護困難、單點故障風險增加(理論上降低安全性與可用性)。

Master-Slave 架構圖

Master-Slave 架構圖

角色職責

角色職責
Master(主庫) 處理所有寫入(INSERT/UPDATE/DELETE),產生 Binlog 供 Slave 拉取。
Slave(從庫) 完整備份 Master 資料,近實時同步;主要承擔讀查詢(報表、列表頁等)。

Web 應用典型「讀多寫少」,讀寫分離效果顯著。

核心複制流程

  1. Master 寫入事務 → 記錄 Binlog。
  2. Slave I/O Thread 連線 Master,請求 Binlog 事件。
  3. Master Binlog Dump Thread 發送事件。
  4. Slave I/O Thread 寫入本地 Relay Log。
  5. Slave SQL Thread 重放 Relay Log 事件,重構資料。

常見架構變體

  • Dual Master(雙主互備)
  • Cascading Replication(級聯複制,Slave 再做 Master)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved