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

MySQL 主從同步備份配置詳解(含版本兼容性原則)

     編輯:MySQL 資料庫相關知識

本文記錄基於雙節點(Master 192.0.0.1 / Slave 192.0.0.2)的主從同步配置全流程,強調版本兼容性原則:主從版本最好一致;若不一致,Slave 版本必須高於 Master。

一、Master 配置

1. 編輯 /etc/my.cnf ([mysqld])

[mysqld]
log-bin=mysql-bin
server-id=1
binlog-do-db=extmail
binlog-ignore-db=mysql,test

參數說明:log-bin 啟用二進制日誌(必須);server-id 範圍 1~2³²-1;binlog-do-db 指定同步庫;binlog-ignore-db 排除庫。

2. 建立同步帳號

GRANT REPLICATION SLAVE ON *.* TO 'abc'@'192.0.0.2' IDENTIFIED BY '123';

3. 重啟 Master

service mysql restart

4. 備份 Master 數據(含位點信息)

mysqldump --master-data extmail > extmail_backup_20071120.sql

關鍵:必須加 --master-data,輸出文件會包含 CHANGE MASTER TO 所需的 Binlog 文件名與位點。

5. 查看 Master 狀態

SHOW MASTER STATUS;
-- 記錄 File (如 mysql-bin.000002) 與 Position (如 79)

二、Slave 配置

1. 編輯 /etc/my.cnf ([mysqld])

server-id=2
master-host=192.0.0.1
master-port=3306
master-user=abc
master-password=123
master-connect-retry=60

注意:server-id 不能與 Master 及其他 Slave 重複。

2. 導入備份數據

mysqladmin create extmail
mysql extmail < extmail_backup_20071120.sql

3. 重啟 Slave 並配置同步位點

service mysql restart
mysql> STOP SLAVE;
mysql> CHANGE MASTER TO
  MASTER_HOST='192.0.0.1',
  MASTER_USER='abc',
  MASTER_PASSWORD='123',
  MASTER_LOG_FILE='mysql-bin.000002',
  MASTER_LOG_POS=79;
mysql> START SLAVE;

4. 驗證同步狀態

SHOW PROCESSLIST;
-- 或 SHOW SLAVE STATUS\G 確認 Slave_IO_Running / Slave_SQL_Running = Yes

關鍵最佳實踐

  • 生產環境建議使用 GTID 複制(MySQL 5.6+),簡化故障切換與位點管理。
  • 監控 Seconds_Behind_Master,設置告警機制。
  • 定期演練主從切換,驗證高可用能力。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved