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

Docker 搭建 MySQL 5.7 主從復制:從鏡像拉取到同步驗證

     編輯:MySQL 資料庫相關知識

環境版本

  • MySQL 5.7.13
  • Docker 1.11.2
  • CentOS 7.1

步驟總覽

  1. 兩台物理機各跑一個 MySQL 容器:
    docker run --name anuo-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=qaz.00JK -d mysql:5.7.13
  2. 主庫建立復制賬戶:
    GRANT REPLICATION SLAVE ON *.* TO 'rep1'@'192.168.2.103' IDENTIFIED BY 'qaz.00JK';
  3. 主庫配置 my.cnf:
    log-bin=mysql-bin
    server-id=1
    (從庫 server-id=2)
  4. 主庫加全局讀鎖 FLUSH TABLES WITH READ LOCK;,備份數據到從庫(Navicat 或 mysqldump)。
  5. 主庫解鎖 UNLOCK TABLES;。
  6. 從庫配置復制連接:
    CHANGE MASTER TO
      MASTER_HOST='192.168.2.108',
      MASTER_PORT=3306,
      MASTER_USER='rep1',
      MASTER_PASSWORD='qaz.00JK',
      MASTER_LOG_FILE='mysql-bin.000002',
      MASTER_LOG_POS=898;
    MASTER_LOG_FILE/POS 從主庫 SHOW MASTER STATUS; 獲取。
  7. 從庫啟動復制 START SLAVE;。
  8. 驗證 SHOW SLAVE STATUS\G;,Slave_IO_State: Waiting for master to send event 即成功。

關鍵點提示

  • Docker 修改 my.cnf 需 docker cp 進出容器再 docker restart。
  • 主從 IP 需互通,容器端口映射正確。
  • 復制賬戶 @'從庫IP' 限制來源,提升安全。

總結

Docker 部署 MySQL 主從:容器啟動 → 主庫建賬號/開 Binlog/設 server-id → 鎖表備份 → 從庫還原/配置 CHANGE MASTER → 啟動 SLAVE → 狀態驗證。適合快速構建測試環境。

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