【运维面试】面试官:mysql主从延迟是怎么处理的

本文探讨了MySQL主从延迟的问题,包括半同步复制与并行复制的原理,分析了延迟产生的原因如高并发、网络抖动、大事务等,并提出了如分库、并行复制、优化代码等解决方案。在面试中,了解这些关键点能展示对数据库运维的深入理解。

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

前言

运维关于mysql的面试题,最常见的就是mysql主从同步,对于主从同步这一块稍微深入一点的就是mysql主从延迟怎么产生的,怎么解决的。

现阶段的互联网公司,一般都是读多写少,一个主库配几个从库来读取数据,减轻高并发读的压力。

关于mysql延迟

导致mysql主从延迟的原因有很多,其中一个最主要的就是高并发场景下的延迟。
从库需要从主库拷贝日志以及串行执行SQL,所以在高并发的场景下,从库的数据一定会比主库慢一些,经常会出现刚写入的数据,在从库上找不到,需要经过几十毫秒才能读取到,有时候甚至是几百毫秒。

mysql 的复制分为半同步复制和并行复制,这两种方式其实就是来解决数据丢失和主从同步延时的问题的。

半同步复制:

主库写入binlog日志后,就会强制立即将数据同步到从库,从库将日志写入自己本地的relay log之后,会发挥一个响应给主库,主库接收到至少一个从库的响应之后才会认为写入已经完成了。

并行复制:

从库开启多个线程,并行读取 relay log 中不同库的日志,然后并行重放不同库的日志,这是库级别的并行。

主从延迟产生的原因
  • 网络抖动导致的主从延迟
  • 主库上有大的事务,导致从库延时
  • 主库上有慢查询语句,锁等待等原因,从库个数较多
  • 从库上发生的大的事务,阻塞了后续的所有事务的运行
  • 从库并发量比
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

互联网老辛

你的鼓励是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值