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

MySQL 5.6.14 主從復制(A/B 復制)環境配置全記錄:原理、類型、步驟與雙向擴展

     編輯:MySQL 綜合教學

MySQL 5.6.14 主從復制(A/B 復制)環境配置全記錄:原理、類型、步驟與雙向擴展

系統梳理主從復制三層原理、三種類型、配置前提、單向/雙向部署步驟,附多實例環境下的實戰命令序列與避坑指南。

核心原理(三步走)

  1. Master 寫入 Binary Log(事件:Statement/Row/Mixed)
  2. Slave I/O 線程拉取 → 寫入本地 Relay Log
  3. Slave SQL 線程重放 Relay Log → 數據重演

主從原理圖

復制類型

類型特點版本
Statement-based (SBR)記錄 SQL、體積小、非確定性函數風險默認
Row-based (RBR)記錄行變更、安全、體積大5.0+
Mixed默認 SBR,檢測不安全自動切 RBR5.1+

配置前提(三個一致)

  1. 版本一致
  2. 初始數據一致(備份恢復或目錄拷貝)
  3. Master 開啟 Binlog,雙端 server-id 唯一

單向主從(A→B)部署步驟

Master 端

# 1. 配置 /etc/my.cnf
server_id=102
log-bin=mysql3306-bin

# 2. 重啟、授權
GRANT REPLICATION SLAVE ON *.* TO 'kongzhong'@'192.168.1.100' IDENTIFIED BY 'kongzhong';
FLUSH PRIVILEGES;

# 3. 記錄位點
SHOW MASTER STATUS;  -- File: mysql3306-bin.000001, Pos: 414

# 4. 鎖表備份傳輸
FLUSH TABLES WITH READ LOCK;
mysqldump -P3306 -uroot -p -S /usr/local/mysql/mysqld3306.sock --all-databases > /tmp/mysql.sql
UNLOCK TABLES;
scp /tmp/mysql.sql root@192.168.1.100:/tmp

Slave 端

# 1. 配置 server_id
server_id=100

# 2. 重啟、還原
mysql -uroot -S /usr/local/mysql/mysqld3306.sock -p < /tmp/mysql.sql

# 3. 指定源並啟動
CHANGE MASTER TO
    MASTER_HOST='192.168.1.102',
    MASTER_USER='kongzhong',
    MASTER_PASSWORD='kongzhong',
    MASTER_PORT=3306,
    MASTER_LOG_FILE='mysql3306-bin.000001',
    MASTER_LOG_POS=414;
START SLAVE;

# 4. 驗證
SHOW SLAVE STATUS\G;
-- Slave_IO_Running: Yes, Slave_SQL_Running: Yes

雙向主從(A↔B)擴展步驟

在單向基礎上:

  1. Slave 也開啟 log-bin、配置唯一 server-id
  2. Slave 授權 Master IP 為從帳號
  3. Master 執行 CHANGE MASTER TO 指向 Slave
  4. Master START SLAVE,雙向形成

部署步驟示意圖

關鍵參數說明

參數含義
MASTER_HOST主庫 IP
MASTER_USER/PASSWORD復制帳號憑證
MASTER_PORT主庫端口(多實例必填)
MASTER_LOG_FILE主庫 Binlog 文件名(來自 SHOW MASTER STATUS)
MASTER_LOG_POS主庫 Binlog 位點

避坑指南

  • ⚠️ **嚴禁在 Slave 手動寫入數據** → 導致不一致、復制中斷
  • ⚠️ 關閉防火牆或放行 3306:iptables stop / setenforce 0
  • ⚠️ 多實例環境 MASTER_PORT 必須顯式指定
  • ⚠️ 備份加鎖時間長 → 業務低峰操作或用 XtraBackup 熱備
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved