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