广告
返回顶部
首页 > 资讯 > 数据库 >MySQL主从同步原理及应用
  • 636
分享到

MySQL主从同步原理及应用

2024-04-02 19:04:59 636人浏览 薄情痞子
摘要

目录1、主从同步原理主从同步架构图(异步同步)主从同步流程(异步同步)什么是binlog?binlog的3种格式binlog格式对比主从同步的2种方式主从同步流程(半同步)半同步适用

1、主从同步原理

主从同步架构图(异步同步)

这是最常见的主从同步架构

主从同步流程(异步同步)

  • 主库把数据变更写入binlog文件
  • 从库I/O线程发起dump请求
  • 主库I/O线程推送binlog至从库
  • 从库I/O线程写入本地的relay log文件(与binlog格式一样)
  • 从库sql线程读取relay log并重新串行执行一遍,得到与主库相同的数据

什么是binlog?

主库每提交一次事务,都会把数据变更,记录到一个二进制文件中,这个二进制文件就叫binlog。需注意:只有写操作才会记录至binlog,只读操作是不会的(如selectshow语句)。

binlog的3种格式

statement格式:binlog记录的是实际执行的sql语句
row格式:binlog记录的是变化前后的数据(涉及所有列),形如update table_a set col1=value1, col2=value2 ... where col1=condition1 and col2=condition2 ...
mixed格式:默认选择statement格式,只在需要时改用row格式

binlog格式对比

  • statement级别:优点是binlog文件小,缺点是主库的慢sql也会在从库上再出现一次,一些依赖环境或上下文的函数可能会产生不一致的数据
  • row级别:缺点是文件大(一条语句如果涉及多行,会放大n倍),优点是无上述慢sql问题,不依赖环境或上下文
  • 为了获取前后变化数据,canal建议使用row级别

主从同步的2种方式

  • 异步同步:默认方式,可能会导致主从切换时数据丢失。因为主库是否commit与主从同步流程无关,也不感知。
  • 半同步:高可用方案,较新Mysql版本支持,需要至少1个从库(默认1,具体数量可指定)对写入relay log进行ack,主库才会commit并把结果返回client

主从同步流程(半同步)

  • 从库在连接主库时,表明自己支持半同步复制
  • 主库也需支持半同步复制,主库commit事务前会阻塞等待至少一个从库写入relay logack,直至超时
  • 如果阻塞等待超时,则主库临时切换回异步同步模式,当至少一个从库的半同步追上进度时,主库再切换至半同步模式

半同步适用场景

高可用备份:半同步复制,可确保从库与主库的一致性,当主库发生故障时,切换到从库不会丢失数据。为了保证稳定性(不因半同步慢而拖累主库),一般不承担业务流量、尽可能快地ack,只用于同步备份。

2、主从同步应用场景

普通场景:线上从库异步同步,高可用备份半同步

对一致性要求较高的大数据取数需求

大数据取数可能导致从库cpu使用率飙升、ack变慢,可设置半同步所需ack数量为1,正常情况下高可用备份能很快ack,于是主库会commit并返回,而大数据取数复制慢一些也无所谓。这样就不会因为大数据取数ack慢而影响主库和业务了。

到此这篇关于mysql主从同步原理及应用的文章就介绍到这了,更多相关MySQL主从同步原理及应用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL主从同步原理及应用

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL主从同步原理及应用
    目录1、主从同步原理主从同步架构图(异步同步)主从同步流程(异步同步)什么是binlog?binlog的3种格式binlog格式对比主从同步的2种方式主从同步流程(半同步)半同步适用...
    99+
    2022-11-12
  • MySQL 主从同步原理
    当涉及到高可用性、负载均衡以及数据备份的需求时,MySQL 主从同步技术是一个非常重要的解决方案。本文将详细介绍 MySQL 主从同步的原理、配置和示例。 一、什么是 MySQL 主从同步? MySQL 主从同步是一种数据库复制技术...
    99+
    2023-09-01
    mysql 数据库
  • mysql主从同步原理及应用场景示例详解
    目录基础知识MySQL 主从同步的主要应用场景有:原理设置主从同步,还有以下几个前提:实验环境模拟实现主从同步首先在 docker 中拉取 mysql 5.7 版本的镜像:通过以下命...
    99+
    2022-11-13
    mysql主从同步 mysql主从同步应用场景
  • Mysql 主从同步原理简析
    在开始讲述原理的情况下,我们先来做个知识汇总,究竟什么是主从,为什么要搞主从,可以怎么实现主从,mysql主从同步的原理1、什么是主从其实主从这个概念非常简单主机就是我们平常主要用来读写的服务,我们称之为master(主人、主宰)从机就是...
    99+
    2016-01-10
    Mysql 主从同步原理简析
  • mysql主从同步机制原理
    本篇内容主要讲解“mysql主从同步机制原理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql主从同步机制原理”吧! 1、binlog+pos同步(默认...
    99+
    2022-10-18
  • MySQL主从同步的原理介绍
    这篇文章主要讲解了“MySQL主从同步的原理介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL主从同步的原理介绍”吧!主从同步的原理:1、主库上面...
    99+
    2022-10-18
  • 一文详解MySQL主从同步原理
    目录1. mysql主从同步实现方式2. MySQL主从同步的作用一主多从架构双主多从架构3. 主动同步的原理4. 主从同步延迟问题主从同步延迟的原因有哪些?主从同步延迟的解决方案?5. 如何提升主从同步性能从库开启多线...
    99+
    2022-08-16
    MySQL主从同步原理 MySQL主从同步
  • MySQL主从同步的原理是什么
    这期内容当中小编将会给大家带来有关MySQL主从同步的原理是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 Replication 线程  MySQL 的 Repli...
    99+
    2022-10-18
  • 快速笔记02-MySQL主从复制原理半同步操作步骤及原理
    ==========================================================一:MySQL主从复制规划主库:(MySQL master) IP:1...
    99+
    2022-10-18
  • MYSQL主从不同步延迟原理分析及解决方案
    1. MySQL数据库主从同步延迟原理。要说延时原理,得从mysql的数据库主从复制原理说起,mysql的主从复制都是单线程的操作,主库对所有DDL和DML产生binlog,binl...
    99+
    2022-11-15
    MYSQL 不同步 延迟
  • 一文带你了解Mysql主从同步原理
    目录Mysql 主从同步原理简析1、什么是主从 2、为什么要搞主从呢? 3、如何实现主从同步呢? 4、mysql 主从同步的原理 Mysql 主从同步原理简析 在开始讲述原理的情况下...
    99+
    2022-11-12
  • MySql主从同步配置及实现
    mysql主从复制 随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求。此时数据库集群就很好的解决了这个问题了。采用MySQL分布式集群,能够搭建一个高并发、负载均衡的集群...
    99+
    2022-10-18
  • MySQL主从同步延迟的原因及解决办法
    由于历史原因,MySQL复制基于逻辑的二进制日志,而非重做日志。多次被问到何时MySQL能支持基于物理的复制,其实这就看MySQL各位大佬的想法。上次和赖老师脑暴,倏地说道:MySQL会不会来个基于Paxo...
    99+
    2022-10-18
  • mysql主从同步原理、配置以及延迟的示例分析
    小编给大家分享一下mysql主从同步原理、配置以及延迟的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!mysql的主从同步原理、主从同步配置、主从同步延迟,首先我们先来了解什么是主...
    99+
    2022-10-18
  • MySQL 主从复制及原理
    1.主从复制配置a. 环境:CentOS7.4,IP地址分别是主库:192.168.11.146,从库:192.168.11.238,主库版本应低于或等于从库版本,这里用的都是MySQL 8.0.13b.主...
    99+
    2022-10-18
  • MySQL 主从同步,事务回滚的实现原理
    BinLog BinLog是记录所有数据库表结构变更(例如create、alter table)以及表数据修改(insert、update、delete)的二进制日志,主从数据库同步用到的都是BinLog文件。Bi...
    99+
    2022-05-27
    MySQL 主从同步 mysql 事务回滚
  • kafka主从同步原理是什么
    Kafka主从同步原理是指在Kafka集群中,一个或多个Kafka broker(主节点)将数据复制到其他Kafka broker(...
    99+
    2023-10-12
    kafka
  • Mysql主从同步的实现原理与配置实战
    1、什么是mysql主从同步? 当master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库。 2、主从同步有什么好处? 水平扩展数据库的负载能力。 容错,高可用。Failover(失败切换)/High Availab...
    99+
    2020-03-11
    Mysql主从同步的实现原理与配置实战
  • Redis主从同步原理解析(实验)
    redis主从同步原理        在主从数据同步过程中,        master只在第一次同步时创建了RDB文件,用此做基础进行同步。        之后的同步,都是通过增量传输命令的方式(AOF)...
    99+
    2022-10-18
  • MySQL主从同步的简单理解
    MySQL主从同步的简单理解 许多大型网站为了减轻海量用户对于服务器并发访问量的性能问题,会使用很多解决的方案, 数据库主从分离,就是目前主流的一种解决手段。 想一下每个用户都通过控制层业务层调用服务器...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作