文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

docker下如何部署MySQL8基于GTID的主从复制

2024-04-02 19:55

关注

这篇文章给大家介绍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的主从复制就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯