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

MySQL 雙主互備配置範例(雙向同步)

     編輯:MySQL 資料庫相關知識

架構

兩台伺服器互為 Master/Slave,資料雙向即時同步。

ServerIPServer-ID
Node1192.168.0.21
Node2192.168.0.32

Node1 配置

GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.0.3' IDENTIFIED BY '123';

[mysqld]
log-bin
server-id=1
binlog-do-db=test

master-host=192.168.0.3
master-user=backup
master-password=123
master-port=3306
server-id=2
master-connect-retry=60
replicate-do-db=testdatabase
log-slave-updates

Node2 配置

GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.0.2' IDENTIFIED BY '123';

[mysqld]
log-bin
server-id=1
binlog-do-db=test

master-host=192.168.0.2
master-user=backup
master-password=123
master-port=3306
server-id=2
master-connect-retry=60
replicate-do-db=testdatabase
log-slave-updates

啟動與驗證

  1. 重啟雙方 MySQL 服務。
  2. 於各節點執行 START SLAVE。
  3. SHOW SLAVE STATUS\G 確認 Slave_IO_Running、Slave_SQL_Running = Yes。

常見錯誤處理

  • 同步報錯需跳過:SET GLOBAL SQL_SLAVE_SKIP_COUNTER = N;(跳過 N 個事件)。
  • 指定 Relay Log 位置重新同步:
    START SLAVE UNTIL RELAY_LOG_FILE='檔名', RELAY_LOG_POS=位置;
  • 修改 Slave 參數前必須刪除 master.info。

參考

詳細參數說明請參閱 MySQL 官方手冊 Replication 章節。

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