溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

docker下如何部署MySQL8基于GTID的主從復(fù)制

發(fā)布時間:2021-10-08 16:02:08 來源:億速云 閱讀:299 作者:柒染 欄目:MySQL數(shù)據(jù)庫

這篇文章給大家介紹docker下如何部署MySQL8基于GTID的主從復(fù)制,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

安裝docker
#yum install docker
添加docker鏡像倉庫
#vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

拉取mysql鏡像
*# docker pull mysql

創(chuàng)建mysql容器
# docker run -dit --name lisamysql001 -p 33307:3307 -e MYSQLROOTPASSWORD=123456 mysql
# docker run -dit --name lisamysql002 -p 33308:3308 -e MYSQLROOTPASSWORD=123456 mysql

進(jìn)入mysql容器
# docker exec -it lisamysql001 /bin/bash
# docker exec -it lisamysql002 /bin/bash

在mysql容器中登陸mysql,竟然還是mysql8.0版本呢。真香!

下面開始進(jìn)入容器部署基于GTID的主從復(fù)制:
容器lisa_mysql001為主庫,lisa_mysql002為從庫
進(jìn)入主庫(lisa_mysql001)給docker容器安裝vim(方便我修改my.cnf文件)
#docker exec -it lisa_mysql001 /bin/bash
#apt-get update
#apt-get install vim -y
安裝ifconfig的包,查看容器IP地址
#apt-get install net-tools -y
安裝ping命令
# apt-get install inetutils-ping -y

主庫(lisa_mysql001)的IP地址是:172.17.0.2

配置主庫的my.cnf,添加下面內(nèi)容
#cat /etc/mysql/my.cnf
server-id=001
gtid-mode=on
enforce-gtid-consistency=on    
log_bin = binlog

修改完主庫的配置文件后,退出mysql容器,重啟mysql
*# docker restart lisamysql001

為從庫建立同步賬號
#mysql -uroot -p123456
mysql>create user 'repl'@'172.17.0.%' identified by '1225119';
mysql>grant replication slave on . to 'repl'@'172.17.0.%';
mysql>flush privileges;

查看主庫的uuid和狀態(tài)
mysql>show global variables like '%uuid%';
從庫配置成功后,測試主從復(fù)制能否同步。

從庫配置
# docker exec -it lisamysql002 /bin/bash
#apt-get update
#apt-get install vim -y
安裝ifconfig命令,查看容器IP地址
#apt-get install net-tools
-y
安裝ping命令
# apt-get install inetutils-ping -y
從庫(lisa_mysql001)的IP地址是:172.17.0.3
測試能否和主庫通信
# ping 172.17.0.2
配置從庫的my.cnf,添加下面內(nèi)容
server-id=002
gtid-mode=on
enforce-gtid-consistency=on    
log-slave-updates = on
修改完從庫的配置文件后,退出mysql容器,重啟mysql
*# docker restart lisamysql002

測試我們在主庫建的賬戶能不能從從庫登陸
*# mysql -urepl -h272.17.0.2 -p
配置從庫指定主庫
mysql> change master to master_host='172.17.0.2',master_user='repl',master_password='1225119';  
mysql> start slave;
mysql> show slave status\G
主庫建了一個名字為songlisha的庫后,從庫接受到了。

關(guān)于docker下如何部署MySQL8基于GTID的主從復(fù)制就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI