MySQL-基于docker+GTID实现Replication集群主从复制及读写分离

在上一篇文章中:MySQL-基于docker实现Replication集群主从复制及读写分离介绍了基于Docker实现的MySQL主从,利用的是普通的日志方式实现的。文章末尾,提了一下基于GTID实现主从,以及它的优点。不过没有写完,这一篇就利用中午休息的时间介绍下基于GTID的主从实现。

GTID

GTID,其全称是Global Transaction Identifier,可简化MySQL的主从切换以及Failover。GTID用于在binlog中唯一标识一个事务。当事务提交时,MySQL Server在写binlog的时候,会先写一个特殊的Binlog Event,类型为GTID_Event,指定下一个事务的GTID,然后再写事务的Binlog。主从同步时GTID_Event和事务的Binlog都会传递到从库,从库在执行的时候也是用同样的GTID写binlog,这样主从同步以后,就可通过GTID确定从库同步到的位置了。也就是说,无论是级联情况,还是一主多从情况,都可以通过GTID自动找点儿,而无需像之前那样通过File_name和File_position找点儿了。

所以,这种方式能够保证主库的写入以及从库的复制在一个事务内,避免出现主库写入成功,从库复制失败而导致的从库读取数据失败。
直接开始正文吧。

实现

如果你是第一次基于Docker搭建,并且也是第一次搭建这个主从,请保证阅读过上一篇文章,关于前几个步骤,就不在这里再次重复操作一遍了。请参照上一篇文章启动运行几个MySQL容器。

假设你已经完成了第一篇1.1-1.4之前的操作。
注意:1.1-1.4请参照上一篇实现

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

millet109

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值