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

MySQL 主從同步搭建實戰:FreeBSD 雙節點單向復制完整配置與驗證流程

     編輯:MySQL 資料庫相關知識

環境

  • 雙節點:FreeBSD 5.4,Apache 2.0.55,PHP 4.4.0,MySQL 4.1.15。
  • Master: 192.168.0.1,Slave: 192.168.0.2。
  • 單向同步:Master 寫入,Slave 主動拉取。
  • 同步庫:abc,用戶:root(演示用,生產建議專用賬號)。

配置文件部署


cp /usr/local/mysql/share/mysql/my-medium.cnf /usr/local/mysql/var/my.cnf

Master 配置 /usr/local/mysql/var/my.cnf


[mysqld]
server-id = 1
log-bin
binlog-do-db = abc
重啟:/usr/local/mysql/bin/mysqladmin shutdown && /usr/local/mysql/bin/mysqld_safe --user=mysql &

Slave 配置 /usr/local/mysql/var/my.cnf


[mysqld]
server-id = 2
master-host = 192.168.0.1
master-user = root
master-password = ''
master-port = 3306
master-connect-retry = 10
replicate-do-db = abc
log-slave-updates
重啟同 Master。

驗證步驟

  1. 檢查 Slave 錯誤日誌 /usr/local/mysql/var/主機名.err,確認:
    Slave I/O thread: connected to master 'root@192.168.0.1:3306', replication started
  2. Master 執行:SHOW MASTER STATUS; 記錄 Binlog 位置。
  3. Master 執行:SHOW PROCESSLIST; 看到 Binlog Dump 線程服務 Slave。
  4. Slave 執行:SHOW SLAVE STATUS; 關注 Slave_IO_Running=Yes、Slave_SQL_Running=Yes、Seconds_Behind_Master=0。
  5. Slave 執行:SHOW PROCESSLIST; 看到 Slave_IO、Slave_SQL 線程。
  6. Master 庫 abc 建表插入數據,Slave 查詢驗證同步成功。

進階擴展方向

  • 雙主熱備 (Master-Master):雙向復制,需 auto_increment_offset/increment 避免主鍵衝突。
  • 一主多從:多 Slave 指向同一 Master,分擔讀壓力。
  • GTID 復制 (MySQL 5.6+):簡化故障切換與拓撲變更。
  • 半同步復制:主庫至少一從庫收到 Binlog 才提交,減少數據丟失風險。

避坑提醒

  • server-id 全局唯一,非 0。
  • Master 必須開啟 log-bin。
  • Slave replicate-do-db 需與 Master binlog-do-db 一致。
  • 防火牆放行 3306,MySQL 權限允許 Slave IP 連接。
  • 不要手動修改 master.info/relay-log.info,用 CHANGE MASTER TO。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved