首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Linux 下 MySQL 主從鏡像(複寫)建立完整操作手冊

     編輯:MySQL 綜合教學

環境規劃

角色IP版本
Master192.168.0.205MySQL 4.1
Slave192.168.0.206MySQL 4.1

Step 1:Master 配置 /etc/my.cnf

[mysqld]
server-id = 1
log-bin = binlog_name

Step 2:建立複寫帳號

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

Step 3:Slave 連線測試

/opt/mysql/bin/mysql -u slave -p -h 192.168.0.205

確認網路通、帳號權限正確。

Step 4:Slave 配置 /etc/my.cnf

[mysqld]
server-id = 2
master-host = 192.168.0.205
master-user = slave
master-password = 123456

Step 5:初始化同步並啟動複寫

  1. 啟動 Slave 服務:/opt/mysql/share/mysql/mysql.server start
  2. 登入 Slave:/opt/mysql/bin/mysql -u root -p
  3. 執行同步:LOAD DATA FROM MASTER;
    或 使用 mysqldump --master-data=2 匯入,或直接複製資料目錄(需鎖表)

Step 6:驗證測試

-- 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 START; / SLAVE STOP;
查看複寫狀態SHOW SLAVE STATUS\G;
清理 Master 舊 BinlogPURGE MASTER LOGS TO 'binlog.000004';(謹慎)
動態變更 MasterCHANGE MASTER TO MASTER_HOST='...', MASTER_LOG_FILE='...', MASTER_LOG_POS=...;

關鍵注意事項

  • server-id 唯一:Master/Slave 不可相同
  • 版本一致:主從版本最好一致,避免 Binlog 格式差異
  • 防火牆:Slave IP 需能連 Master 3306 埠
  • 資料一致性:LOAD DATA FROM MASTER 會鎖表,大庫建議用 mysqldump --single-transaction --master-data=2 熱備份
  • 監控:Seconds_Behind_Master 持續 > 0 需告警排查

遵循標準化部署流程,配合監控與定期演練,打造高可用 MySQL 主從架構。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved