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

MySQL 主從與雙機備份配置實戰筆記

     編輯:MySQL 資料庫相關知識

核心觀念

Replication 設定全在 my.cnf/my.ini 的 [mysqld] 區段,需設定唯一 server-id 並啟用 log-bin。

實測環境

  • Windows (172.22.33.33) MySQL 5,Port 3327 → Master
  • Linux (172.22.1.37) MySQL 5,Port 3306 → Slave

Windows Master 配置

[mysqld]
# Master 設定
server-id=1
log-bin=c:/masterlog
binlog-do-db=db5

# 雙向備份時追加 Slave 設定
master-host=172.22.1.37
master-user=backup2
master-password=backup2
master-port=3306
master-connect-retry=60
replicate-do-db=db5

同步帳號建立

GRANT FILE, REPLICATION SLAVE, REPLICATION CLIENT, SUPER ON *.* TO 'backup'@'172.22.1.37' IDENTIFIED BY 'backup';

限定來源 IP,僅供備份用途,符合最小權限原則。

Linux Slave 配置

server-id=2
log-bin=./masterlog
binlog-do-db=db5

master-host=172.22.33.33
master-user=backup
master-password=backup
master-port=3327
master-connect-retry=60
replicate-do-db=db5

若需雙向,Linux 端同樣建立 backup2 帳號並授權。

常見坑點

  • 配置必須在 [mysqld] 區段,不可隨意位置。
  • 同步帳號權限不足會導致連線成功但無法同步,錯誤訊息易被忽略。
  • 雙向同步時雙方 server-id 必須不同,且 log-slave-updates 建議開啟避免環狀複寫。
  • 資料庫結構必須預先一致,版本差異(5→4)會導致特性遺失,不建議跨大版本同步。

驗證步驟

  1. 重啟雙方服務。
  2. Slave 執行 START SLAVE。
  3. SHOW SLAVE STATUS\G 確認 IO/SQL 執行緒皆 Running。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved