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

Linux 下 MySQL 主從鏡像庫搭建:基於 Binlog 的異步復制極速部署指南

     編輯:MySQL 資料庫相關知識

環境

  • MySQL 4.1,Master: 192.168.0.205,Slave: 192.168.0.206。
  • 安裝路徑:/opt/mysql。

Master 配置


# /etc/my.cnf [mysqld]
server-id = 1
log-bin = binlog_name

創建復制賬號


GRANT REPLICATION SLAVE, RELOAD, SUPER ON *.* TO 'slave'@'192.168.0.206' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;

Slave 連接測試


/opt/mysql/bin/mysql -u slave -p -h 192.168.0.205
# 確認網絡/權限通暢

Slave 配置


# /etc/my.cnf [mysqld]
server-id = 2
master-host = 192.168.0.205
master-user = slave
master-password = 123456

啟動同步


/opt/mysql/share/mysql/mysql start
/opt/mysql/bin/mysql -u root -p
mysql> LOAD DATA FROM MASTER;
  • LOAD DATA FROM MASTER 會鎖表導入,大庫建議改用 mysqldump --master-data=2 導入或直接複製數據目錄(需停庫)。

驗證測試


-- Master
CREATE DATABASE sampdb;
USE sampdb;
CREATE TABLE new (name CHAR(20), phone CHAR(20));
INSERT INTO new VALUES ('abc', '0532555555');

-- Slave
SHOW DATABASES;  -- 見 sampdb
USE sampdb;
SHOW TABLES;     -- 見 new
SELECT * FROM new; -- 見數據

常用管理命令

命令作用
SLAVE STOP / START暫停/恢復復制線程
SHOW SLAVE STATUS\G查看復制坐標、延遲、錯誤
PURGE MASTER LOGS TO 'binlog.000004'清理已無用 Binlog,謹慎操作
CHANGE MASTER TO ...動態調整主庫參數

避坑提醒

  • server-id 唯一非 0。
  • Master 必須開 log-bin。
  • PURGE MASTER LOGS 會導致 Slave 斷點丟失,確認所有 Slave 已處理該 Binlog 再執行。
  • MySQL 5.6+ 建議用 CHANGE MASTER TO MASTER_AUTO_POSITION=1 (GTID) 替代文件/位置定位。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved