吃透MySQL(十四):主从延时问题

本文详细介绍了MySQL主从复制的工作原理,强调了主从延时问题及其产生的原因,包括单线程复制、大事务执行、硬件及网络因素等。针对延迟问题,文章提出了多种解决策略,如架构优化、从库配置调整(例如修改sync_binlog参数、禁用从库binlog)以及并行复制策略,讨论了MySQL5.6、MariaDB和MySQL5.7的并行复制特点,并涉及基于GTID的主从复制及其优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主从原理

  • master服务器将数据的改变记录二进制binlog日志,当master上的数据发生改变时,则将其改变写入二进制日志中;
  • slave服务器会在一定时间间隔内对master二进制日志进行探测其是否发生改变,如果发生改变,则开始一个I/OThread请求master二进制事件
  • 同时主节点为每个I/O线程启动一个dump线程,用于向其发送二进制事件,并保存至从节点本地的中继日志中,从节点将启动SQL线程从中继日志中读取二进制日志,在本地重放,使得其数据和主节点的保持一致,最后I/OThread和SQLThread将进入睡眠状态,等待下一次被唤醒。
    在这里插入图片描述
  • 从库通过手工执行change master to 语句连接主库,提供了连接的用户一切条件(user 、password、port、ip),并且主库回复从库,二进制日志的起点位置(file名 position 号)。
  • 从库的IO线程和主库的dump线程建立连接。
  • 从库根据change master to 语句提供的file名和position号,IO线程向主库发起binlog的请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

吃透Java

你的鼓励是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值