您好,登錄后才能下訂單哦!
這篇文章給大家介紹docker下如何部署MySQL8基于GTID的主從復制,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
安裝docker
#yum install docker
添加docker鏡像倉庫
#vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
拉取mysql鏡像
*# docker pull mysql
創建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
進入mysql容器
# docker exec -it lisamysql001 /bin/bash
# docker exec -it lisamysql002 /bin/bash
在mysql容器中登陸mysql,竟然還是mysql8.0版本呢。真香!
下面開始進入容器部署基于GTID的主從復制:
容器lisa_mysql001為主庫,lisa_mysql002為從庫
進入主庫(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,添加下面內容
#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和狀態
mysql>show global variables like '%uuid%';
從庫配置成功后,測試主從復制能否同步。
從庫配置
# 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,添加下面內容
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的庫后,從庫接受到了。
關于docker下如何部署MySQL8基于GTID的主從復制就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。