MySQL 主从复制的 学习 (参考bilibili视频学习)

本文探讨了MySQL主从复制中出现的延迟原因,主要由于顺序读取与随机读取的处理差异导致。为解决此问题,提出了事务必须在同一worker中执行以及使用GTID(全局事务ID)来跟踪事务。在MySQL 5.7版本中,采用了并行复制策略,结合redo和binlog确保事务的成功或失败,并提出了组提交的概念,以提高效率。然而,这种策略对于多库事务和连表事务的处理仍存在挑战。
摘要由CSDN通过智能技术生成

⭐主从复制存在延时 原因是大部分都是顺序读取处理,而当遇到了随机读取处理时,则会出现进程阻塞问题。

因而出现以下规则:

1、更新同一行的多个事务,必须要分发到同一个worker中执行

2、同一个事务不能被拆开,必须要放到同个worker中执行

但以上方法对于多库事务或是连表事务难以操作。因此出现了GTID: 全局事务ID

这个GTID包含了:⭐服务器的唯一标识 和 ⭐递增的事务id

⭐若自己不指定,则有匿名的GTID

那么问题来了⭐常用5.7版本采用的并行复制策略

通过redo 和 binlog 两个日志来一起 判断 事务是成功了还是失败了。

⭐如果成功就将 redo 的prepare阶段内容commit一下

⭐如果失败就将 redo 和 binlog 回滚就行了

mysql中 即写即查的 不适合做读写分离。

提出组提交 :多个事务提交 ——》log ——》刷盘

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值