mysql 5.7 docker 主從複製架構搭建教程_Mysql

來源:互聯網
上載者:User

分享mysql 5.7 docker 主從複製架構搭建教程,供大家參考,具體內容如下

環境版本:
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. 將主庫的Database Backup在從庫還原

用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 ...  
那就成功了 ! ! !

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.