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

MariaDB/MySQL 雙主同步備份配置 (Windows):完整步驟與錯誤排查

     編輯:MySQL 綜合教學

MariaDB/MySQL 雙主同步備份配置 (Windows):完整步驟與錯誤排查

架構:兩台 Windows Server 2003 (192.168.100.217 / .218) 均安裝 MariaDB,互為主從,實現雙向複寫。生產環境建議搭配 Keepalived (Linux) 實現 VIP 故障切換。

前置配置 (my.ini [mysqld] 區段)

# 217
server_id = 1
log-bin=binlog
log-bin-index=binlog.index
sync_binlog=0

# 218
server_id = 2
log-bin=binlog
log-bin-index=binlog.index
sync_binlog=0

關鍵:server_id 必須不同;啟用 binlog 是複寫前提。

建立複寫專用帳號 (兩台均執行)

GRANT REPLICATION SLAVE ON *.* TO 'testsync'@'%' IDENTIFIED BY 'abc123,';
FLUSH PRIVILEGES;

配置 218 從 217 同步

  1. 在 217 執行:FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS; 記下 File (如 binlog.000003) 與 Position (如 598),再 UNLOCK TABLES;。
  2. 在 218 執行:
    CHANGE MASTER TO
      MASTER_HOST='192.168.100.217',
      MASTER_PORT=3306,
      MASTER_USER='testsync',
      MASTER_PASSWORD='abc123,',
      MASTER_LOG_FILE='binlog.000003',
      MASTER_LOG_POS=598;
    START SLAVE;
    SHOW SLAVE STATUS\G
  3. 確認 Slave_IO_Running: Yes 且 Slave_SQL_Running: Yes。

反向配置 217 從 218 同步 (同上對調 IP/日誌座標)

  1. 在 218 鎖表取座標 (binlog.000002, 323)。
  2. 在 217 執行 CHANGE MASTER TO ... MASTER_HOST='192.168.100.218' ... 並啟動。

常見錯誤與對策

驗證

在 217 建庫 → 218 見到;在 218 建表 → 217 見到。雙向同步生效。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
現象原因解決
Slave_IO_Running: Noserver_id 衝突修改 my.ini 確保唯一
Slave_IO_Running: NoMASTER_LOG_FILE/POS 錯誤重新 SHOW MASTER STATUS 取正確值
Slave_SQL_Running: NoSQL 執行錯誤 (如主鍵衝突)檢查 Last_SQL_Error,手動修正或跳過