mysql8主从镜像制作_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 -h172.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的库后,从库接受到了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值