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

MySQL 雙機熱備份架構設計與配置

     編輯:MySQL 資料庫相關知識

複製功能簡介

MySQL 3.23.15+ 提供 Replication,可實現主從同步、雙向互備。配置集中於 my.cnf/my.ini 的 [mysqld] 區段。

環境規劃

角色IPServer-ID同步帳號
A (Master/Slave)10.10.10.221backup@10.10.10.53
B (Slave/Master)10.10.10.532backup@10.10.10.22

同步資料庫:backup

共同前置作業

  1. 建立同步帳號(雙向各建一次):
    GRANT FILE, REPLICATION SLAVE, REPLICATION CLIENT, SUPER ON *.* TO 'backup'@'對方IP' IDENTIFIED BY '1234';
  2. 建立同步資料庫:CREATE DATABASE backup;

主從單向同步 (A → B)

A (Master) 配置

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

B (Slave) 配置

[mysqld]
server-id=2
master-host=10.10.10.22
master-user=backup
master-password=1234
master-port=3306
master-connect-retry=60
replicate-do-db=backup

重啟雙方服務,於 B 執行 START SLAVE,用 SHOW SLAVE STATUS 確認 Slave_IO_Running、Slave_SQL_Running 均為 Yes。

雙向熱備 (A ↔ B)

在雙向模式下,A 與 B 同時具備 Master 與 Slave 角色。

A 追加 Slave 設定

master-host=10.10.10.53
master-user=backup
master-password=1234
replicate-do-db=backup
master-connect-retry=10

B 追加 Master 設定

log-bin=c:/mysqllog/mysql.log
binlog-do-db=backup

重啟雙方,分別執行 START SLAVE。若發生錯誤導致同步執行緒退出,修正後需 START SLAVE 重新啟動。

關鍵注意事項

  • server-id 全域唯一,不可重複。
  • 修改 Slave 設定前必須刪除資料目錄下的 master.info,否則新設定不生效。
  • 同步帳號需具備 REPLICATION SLAVE、REPLICATION CLIENT、SUPER 權限。
  • 測試:向 B 批量寫入 1,872,000 筆測試資料,A 每秒可同步約 2,500 筆,效能符合預期。

Windows 配置檔路徑提醒

  • C 根目錄 my.cnf 優先,執行 winmysqladmin.exe 會將其改名為 mycnf.bak 並在 winnt 建立 my.ini。
  • 建議統一使用 my.ini 作為服務啟動配置。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved