十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
本文主要給大家介紹docker下MySQL8基于GTID的主從復(fù)制如何完成部署,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下docker下MySQL8基于GTID的主從復(fù)制如何完成部署吧。
10年積累的成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有浮梁免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
安裝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
主庫建了一個(gè)名字為songlisha的庫后,從庫接受到了。
看完以上關(guān)于docker下MySQL8基于GTID的主從復(fù)制如何完成部署,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。