mysql 5.7 docker 主從復(fù)制架構(gòu)搭建教程
分享mysql 5.7 docker 主從復(fù)制架構(gòu)搭建教程,供大家參考,具體內(nèi)容如下
環(huán)境版本:
MySQL : 5.7.13
Docker : 1.11.2
CentOS : 7.1
1.先在兩個物理機(jī)上分別安裝兩個MySQL.命令如下
docker run --name anuo-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=qaz.00JK -d mysql:5.7.13
2.在主庫上創(chuàng)建一個復(fù)制賬戶
復(fù)制賬戶為: rep1
指定從庫的IP必須為: 192.168.2.103
復(fù)制密碼為: qaz.00JK
3.修改主庫的配置文件 (麻煩,應(yīng)該有更方便的修改方式)
3.1先從docker拷貝配置文件到主機(jī)/root 目錄:
docker cp anuo-mysql:/etc/mysql/my.cnf /root
3.2在主機(jī)打開 my.cnf , 在 [mysqld] 節(jié)點最后加上
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. 開始備份, 在主庫執(zhí)行以下命令, 讓主庫所有表置于只讀不能寫的狀態(tài), 這樣達(dá)到主從庫數(shù)據(jù)一致性
FLUSH TABLES WITH READ LOCK;
6. 將主庫的數(shù)據(jù)庫備份在從庫還原
用navicat for mysql 很方便操作
7. 從庫還原后, 釋放主庫的讀鎖, 這樣主庫恢復(fù)寫權(quán)限
unlock tables;
8.配置從庫連接主庫, 在從庫上執(zhí)行
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
在主庫執(zhí)行 : SHOW MASTER STATUS; 命令可以取得
對應(yīng)的字段是 File 和 Position
9. 在從庫啟動 slave 線程開始同步
START SLAVE;
10.在從庫 查看同步狀態(tài)
show slave status;
如果看到 Slave_Io_State 字段有 :
Waiting for master to send event ...
那就成功了 ! ! !
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
select?into?from和insert?into?select的區(qū)別舉例詳解
這篇文章主要介紹了SQL中的SELECT?INTO和INSERT?INTO?SELECT兩種語句的區(qū)別和用法,SELECT?INTO用于創(chuàng)建新表并復(fù)制數(shù)據(jù)到新表中,而INSERT?INTO?SELECT用于將數(shù)據(jù)從一個表插入到已存在的另一個表中,需要的朋友可以參考下2025-03-03數(shù)據(jù)從MySQL遷移到Oracle 需要注意什么
將數(shù)據(jù)從MySQL遷移到Oracle,大家需要注意什么?Oracle移植到mysql,又需要注意什么?如何有效解決移植過程的問題,為了數(shù)據(jù)庫的兼容性我們又該注意些什么?感興趣的小伙伴們可以參考一下2016-11-11ERROR 1862 (HY000): Your password has expired. To log in you
當(dāng)你在安裝 MySQL過程中,通過mysqld --initialize 初始化 mysql 操作后,生成臨時密碼后,沒有直接進(jìn)行 MySQL連接,中途重啟服務(wù)或者重啟機(jī)器等,導(dǎo)致密碼失效問題,怎么處理呢,感興趣的朋友一起看看吧2019-11-11配置hive元數(shù)據(jù)到Mysql中的全過程記錄
這篇文章主要給的大家介紹了關(guān)于配置hive元數(shù)據(jù)到Mysql中的全過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Mysql分組查詢每組最新的一條數(shù)據(jù)的五種實現(xiàn)過程
本文介紹了五種在MySQL中獲取每個分組最新一條數(shù)據(jù)的方法,包括子查詢和JOIN、窗口函數(shù)、變量、聚合函數(shù)和子查詢以及使用DISTINCT關(guān)鍵字,推薦使用子查詢和JOIN操作或窗口函數(shù),避免使用變量2024-11-11阿里云服務(wù)器手動實現(xiàn)mysql雙機(jī)熱備的兩種方式
阿里云服務(wù)器由于不支持keepalive虛擬ip,導(dǎo)致無法通過keepalive來實現(xiàn)mysql的雙機(jī)熱備。我們這里要實現(xiàn)阿里云的雙機(jī)熱備有兩種方式。感興趣的朋友跟隨小編一起看看吧2019-10-10