返回顶部
首页 > 资讯 > 数据库 >MySQL主从延迟问题解决
  • 344
分享到

MySQL主从延迟问题解决

mysql主从mysql主从延迟mysql主从延迟解决 2022-05-11 01:05:58 344人浏览 薄情痞子
摘要

今天我们就来看看为什么会产生主从延迟以及主从延迟如何处理等相关问题。 坐好了,准备发车! 主从常见架构 随着日益增长的访问量,单台数据库的应接能力已经捉襟见肘。因此采用主库写数据,从库读数据这种将读写分离开的主从

今天我们就来看看为什么会产生主从延迟以及主从延迟如何处理等相关问题。

坐好了,准备发车!

主从常见架构

随着日益增长的访问量,单台数据库的应接能力已经捉襟见肘。因此采用主库写数据,从库读数据这种将读写分离开的主从架构便随之衍生了出来。

在生产环境中,常见的主从架构有很多种,在这里给大家介绍几种比较常见的架构模式。

主从复制原理

了解了主从的基本架构及相关配置后,下面就要进入正题了。

对于主从来说,通常的操作是主库用来写入数据,从库用来读取数据。这样的好处是通过将读写压力分散开,避免了所有的请求都打在主库上。同时通过从库进行水平扩展使系统的伸缩性及负载能力也得到了很大的提升。

但是问题就来了,读从库时的数据要与主库保持一致,那就需要主库的数据在写入后同步到从库中。如何保持主库与从库的数据一致性,主库又是通过什么样的方式将数据实时同步到从库的?

基本原理

Mysql 中主从复制时有两个很重要的日志文件:

  • binlog(二进制日志文件)
  • relay log(中继日志文件)

在主从同步的过程中,主库会将所有的操作事件记录在 binlog 中,从库通过开启一个 I/O 线程保持与主库的通信,并在一定时间间隔内探测 binlog 日志文件是否发生改变。如果 binlog 日志发生了变化,主库生成一个 binlog dump 线程向从库 I/O 线程传送 binlog。从库上的 I/O 线程将 binlog 复制到自己的 relay log 中。最终由从库中的 sql 线程读取 relay log 中的事件重放到从库上。

主从延迟原因

上面的流程我们已经知道了主从复制的相关过程了,但是主库有更新就会同步从库,那为什么会出现主从延迟的情况呢?

随机重放

mysql 主库中写 binlog 的操作是顺序写的,之前我们提到过,磁盘的顺序读写速度是很快的。同样的,从库中的 I/O 线程操作日志的速度效率也是很高的。但是别忘了,还有一个 SQL 线程来进行数据重放,而重放的过程是随机写盘的。到这里你应该就明白了吧,某一时刻 relay log 里的数据来不及重放进从库,就会产生主从延迟的情况。

主库并发

知道了从库中 SQL 线程的重放情况,对于主库并发高导致主从延迟肯定就不难理解了。某一时刻,大量写请求打到主库上,意味着要不断对 binlog 进行写入,此时从库中的 SQL 线程就会应接不暇,自然会产生主从延迟。

等待

对于 SQL 单线程来说,当遇到阻塞时就会一直等待,直到执行成功才会继续进行。如果某一时刻从库因为查询产生了锁等待的情况,此时只有当前的操作执行完成后才会进行下面的操作,同理也就产生了主从延迟的情况。

主从延迟处理

知道了主从延迟的原因,接下来我们看看如何来进行处理。

并行复制

既然 SQL 单线程进行重放时速度有限,那么能不能采用多线程的方式来进行重放呢?MySQL 5.6 版本后,提供了一种并行复制的方式,通过将 SQL 线程转换为多个 work 线程来进行重放,这样就解决了主从延迟的问题。

降低主库并发

你可能会说了,我现在用的低版本的数据库,也没法升版本啊,那我怎么整。对于主库并发高的情况,这种方式你只能通过控制并发来解决延迟了,多用用 Redis

读主库

这种情况你肯定不陌生,对于一些实时性要求比较高的数据,你总不能读从库去拿吧,万一延迟个大半天,你不得贡献自己的年终奖啊。

总结

主从复制原理

主从复制中有两个很重要的日志文件,binlog和relay log,分别位于主库与从库中。其中 binlog 是主从复制的基础,通过将操作事件写入 binlog 通过 I/O 线程传送至从库进行同步。

主从延迟原因

  • 从库中 SQL 线程重放的过程是随机写盘的,并且 SQL 线程是单线程的,因此数据来不及重放的话就会导致主从延迟。
  • 主库并发高会导致写操作不断写入 binlog,对于 SQL 线程说可能会应接不暇,也会产生主从延迟。
  • 重放过程中如果遇到锁等待也是产生延迟的原因之一。

主从延迟处理

MySQL 5.6版本以后通过并行复制的方式来解决 SQL 单线程产生的主从延迟问题。对于低版本来说,可以通过降低主库的并发来解决。如果对数据实时性要求比较严格的话,可以通过读主库来达到目的。

以上就是MySQL主从延迟问题解决的详细内容,更多关于MySQL主从延迟的资料请关注自学编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL主从延迟问题解决

本文链接: https://lsjlt.com/news/10104.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL主从延迟问题解决
    今天我们就来看看为什么会产生主从延迟以及主从延迟如何处理等相关问题。 坐好了,准备发车! 主从常见架构 随着日益增长的访问量,单台数据库的应接能力已经捉襟见肘。因此采用主库写数据,从库读数据这种将读写分离开的主从...
    99+
    2022-05-11
    mysql 主从 mysql 主从延迟 mysql 主从延迟解决
  • 怎么解决MySQL主从延迟问题
    这篇文章主要介绍“怎么解决MySQL主从延迟问题”,在日常操作中,相信很多人在怎么解决MySQL主从延迟问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么解决MySQL主...
    99+
    2024-04-02
  • MySQL主从延迟问题怎么解决
    本篇内容主要讲解“MySQL主从延迟问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL主从延迟问题怎么解决”吧!什么是主从延迟在讨论如何解决主...
    99+
    2024-04-02
  • mysql如何解决主从延迟问题
    mysql解决主从延迟问题的方法:在命令行设置参数slave_parallel_workers的值大于0和slave_parallel_type='LOGICAL_CLOCK'。选择合适的分库、分表策略,避免单表单库过大。避免被无用的I/O...
    99+
    2024-04-02
  • mysql主从复制延迟问题
    在一般生产环境,普遍通过MySQL的主从复制进行读写分离,从而减轻主服务器的压力,提高数据的读写效率。通常情况下,主从复制基本上能做实时同步。由于服务器实际运行过程中,客户端的连接服务器,读写数据不可能是均...
    99+
    2024-04-02
  • MySQL主从延迟、读写分离问题如何解决
    本文小编为大家详细介绍“MySQL主从延迟、读写分离问题如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySQL主从延迟、读写分离问题如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,...
    99+
    2024-04-02
  • mysql主从延迟解决方案
    mysql 主从延迟解决方案包括:检查网络连接优化 binlog 格式(mixed)增加 binlog 缓存大小禁用 binlog checksum(不建议在生产环境中使用)使用并行复制...
    99+
    2024-08-02
    mysql 数据丢失
  • MySQL主从数据库同步延迟问题怎么解决
    这篇文章主要讲解了“MySQL主从数据库同步延迟问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL主从数据库同步延迟问题怎么解决”吧!My...
    99+
    2024-04-02
  • MySQL主从同步延迟怎么解决
    本文主要给大家简单讲讲MySQL主从同步延迟怎么解决,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望MySQL主从同步延迟怎么解决这篇文章可以给大家带来一些实...
    99+
    2024-04-02
  • 如何解决MySQL中主从延迟与读写分离的问题
    小编给大家分享一下如何解决MySQL中主从延迟与读写分离的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言:我们都知道互联网数据有个特性,大部分场景都是 读...
    99+
    2023-06-29
  • redis主从延迟怎么解决
    redis主从复制延迟的解决方法:排查网络问题,确保主从节点间网络连接稳定。适当增加主节点的“repl_backlog_size”参数,扩大复制积压缓冲区。优化主从节点配置,分配充足资源...
    99+
    2024-05-21
    redis 网络问题
  • 主从同步的延迟问题、原因及解决方案
    主从同步的延迟问题、原因及解决方案 MySQL的主从同步在实际使用过程中会有从库延迟的问题,那么为什么会有这种问题呢 如何避免这种问题呢 情况一: 从服务器配置过低导致延迟 这类延迟场景的出现往往是主节点拥有较大规格的配置,而只...
    99+
    2023-08-31
    数据库 服务器 mysql Powered by 金山文档
  • 教你彻底解决MySQL 5.7 主从复制的延迟问题方法
    本文主要给大家简单讲讲彻底解决MySQL 5.7 主从复制的延迟问题方法,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望彻底解决MySQL 5.7 主从复制的...
    99+
    2024-04-02
  • mysql主从延迟设置
    mysql主从延迟设置 Mysql (需5.6以上版本)延迟复制配置,通过设置Slave上的MASTER TO MASTER_DELAY参数实现:CHANGE MASTER TO MASTER_DELAY ...
    99+
    2024-04-02
  • MySQL主从延迟原因以及解决方案
    1.MySQL数据库主从同步延迟原理。    谈到MySQL数据库主从同步延迟原理,得从mysql的数据库主从复制原理说起,mysql的主从复制都是单线程的操作(mysql5....
    99+
    2024-04-02
  • 解决python print延迟问题
    最近写了几个python脚本,在用print输出的时候,都有一个很讨厌的问题,就是print的输出被延迟了,什么情况呢,类似这样 1 import os 2 print ‘first print   3 os.system('./seco...
    99+
    2023-01-31
    python print
  • 【MySQL】MySQL主从同步延迟原因与解决方案
    文章目录 一、MySQL数据库主从同步延迟产生的原因二、关于DDL和DML三、主从延时排查方法四、解决方案3.1 解决从库复制延迟的问题:3.2 MySql数据库从库同步其他问题及解决方案 一、MySQL数据库主从同步延迟产...
    99+
    2023-08-19
    mysql 数据库 sql
  • mysql主从同步为何延迟及解决办法
    下文主要给大家带来mysql主从同步为何延迟及解决办法,希望这些内容能够带给大家实际用处,这也是我编辑mysql主从同步为何延迟及解决办法这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。2.MySQ...
    99+
    2024-04-02
  • MySQL数据延迟跳动的问题解决
    今天分析了另外一个关于数据库延迟跳动的问题,也算是比较典型,这个过程中也有一些分析问题的方法和技巧工参考。 首先在高可用检测中,有一套环境的检测时断时续,经过排查发现是数据库产生了延迟,在登录到从库show slav...
    99+
    2022-05-16
    MySQL 数据 MySQL 数据延迟跳动
  • mysql主从复制延迟原因
    造成 mysql 主从复制延迟的原因包括:网络问题、硬件限制、重复事件、慢查询、并发冲突、特定数据库引擎限制、日志文件大小、临时表、lock_timeout 变量和并行复制滞后。 My...
    99+
    2024-08-01
    mysql 网络问题
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作