程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql 5.7 docker 主從復制架構搭建,mysqldocker

mysql 5.7 docker 主從復制架構搭建,mysqldocker

編輯:MySQL綜合教程

mysql 5.7 docker 主從復制架構搭建,mysqldocker


環境版本: MySQL :  5.7.13 Docker : 1.11.2 CentOS : 7.1   1.先在兩個物理機上分別安裝兩個MySQL.命令如下 docker pull mysql:5.7.13 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'; 復制賬戶為: rep1 指定從庫的IP必須為: 192.168.2.103  復制密碼為: qaz.00JK 3.修改主庫的配置文件 (麻煩,應該有更方便的修改方式) 3.1先從docker拷貝配置文件到主機/root 目錄:  docker cp anuo-mysql:/etc/mysql/my.cnf /root 3.2在主機打開 my.cnf , 在 [mysqld] 節點最後加上 log-bin=mysql-bin server-id=1 3.3 再把此文件上傳到docker mysql 裡面覆蓋 docker cp /root/my.cnf  anuo-mysql:/etc/mysql/my.cnf 3.4 重啟 mysql 的docker , 讓配置生效 docker restart anuo-mysql 4. 修改從庫的配置文件 跟第三步一樣, 唯一不同是 server-id=2 5. 開始備份, 在主庫執行以下命令, 讓主庫所有表置於只讀不能寫的狀態, 這樣達到主從庫數據一致性 FLUSH TABLES WITH READ LOCK; 6. 將主庫的數據庫備份在從庫還原 用navicat for mysql 很方便操作 7. 從庫還原後, 釋放主庫的讀鎖, 這樣主庫恢復寫權限 unlock tables; 8.配置從庫連接主庫, 在從庫上執行  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 和  MASTER_LOG_POS 在主庫執行 : SHOW MASTER STATUS; 命令可以取得 對應的字段是 File 和 Position   9. 在從庫啟動 slave 線程開始同步 START SLAVE;   10.在從庫 查看同步狀態 show slave status; 如果看到 Slave_Io_State 字段有 : Waiting for master to send event ...  那就成功了 ! ! !

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved