萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 主從複寫建立從庫完整步驟(GTID 舊版相容寫法)

架構說明

主庫 寫入 → Binlog → 從庫 IO Thread 讀取 → Relay Log → SQL Thread 重放。可實現即時備份、讀寫分離。

前置條件

  • 主從 server-id 必須不同。
  • 主庫啟用 log-bin、binlog_format=ROW|MIXED。
  • 主從網路互通,防火牆開放 3306。

步驟

  1. 主庫建立複寫帳號
    GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.0.232' IDENTIFIED BY 'oracle';
  2. 查看主庫 Binlog 位置
    SHOW MASTER STATUS\G
    -- 記下 File (如 mysql-bin.000005) 與 Position (如 251651)
  3. 從庫設定主庫資訊
    CHANGE MASTER TO
      MASTER_HOST='192.168.0.232',
      MASTER_USER='repl',
      MASTER_PASSWORD='oracle',
      MASTER_LOG_FILE='mysql-bin.000005',
      MASTER_LOG_POS=251651;
  4. 啟動複寫並驗證
    START SLAVE;
    SHOW SLAVE STATUS\G
    -- 關鍵指標:
    -- Slave_IO_Running: Yes
    -- Slave_SQL_Running: Yes
    -- Seconds_Behind_Master: 0

常見錯誤處理

若 Slave_IO_Running: No 或 Slave_SQL_Running: No:

STOP SLAVE;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
START SLAVE;

(跳過 1 筆錯誤事件,謹慎使用,優先排查根因。)

補充:GTID 模式 (MySQL 5.6+)

CHANGE MASTER TO MASTER_HOST='...', MASTER_USER='...', MASTER_PASSWORD='...', MASTER_AUTO_POSITION=1;

無需手動指定 Log File/Position,自動對齊。

copyright © 萬盛學電腦網 all rights reserved