MySQL - binlog同步过程

news2024/10/7 14:23:23

文章目录

  • binlog作用
  • binlog同步过程
  • 主从同步架构图(异步同步)

binlog作用

MySQL 的 binlog(二进制日志) 是一种记录数据库所有数据更改操作的日志,可以用于数据库备份、恢复、错误排查、数据同步等操作。binlog 是 MySQL 中的一个重要组件,能够记录下所有对数据库的修改操作,包括添加、删除和修改数据,以及更改数据库结构(例如:创建、删除表)等操作。
MySQL 的 binlog 同步原理是主从复制 (Master-Slave Replication),主库 (Master) 将所有数据更改操作记录保存在 binlog 中,并通过网络发送给一个或多个从库 (Slave),从库再将主库的 binlog 应用到自己的数据库中,从而实现数据的同步。


binlog同步过程

具体步骤如下:

  1. 主库 (Master) 将数据更改操作记录保存在 binlog 中,包括对表的增删改操作,以及对数据库结构的更改操作(例如:创建、删除表)。
  2. 从库 (Slave) 连接到主库,并请求复制数据。从库发送一个命令 (CHANGE MASTER TO) 告诉主库它想要复制的日志文件和位置 (Position)。
  3. 主库收到从库的请求,将 binlog 文件和位置发送给从库。
  4. 从库收到 binlog 文件和位置后,开始应用这些更改操作。从库将主库的 binlog 文件保存在自己的数据库中,并使用主库的 binlog 位置开始复制。
  5. 当从库复制完一个 binlog 文件后,会发送一个确认 (ACK) 给主库,告诉主库它已经复制完该文件。
  6. 主库收到确认后,会继续将下一个 binlog 文件发送给从库,直到所有 binlog 文件都被复制完成。
    通过以上步骤,主从库之间可以实现数据的同步,从库可以实时地备份主库的数据,以便在主库出现故障时能够快速地进行恢复。同时,binlog 也可以用于数据分析和迁移等操作,提高了数据库的可用性和灵活性。

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/991611.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

操作系统 --- 计算机系统引论

(一)操作系统的目的和作用 概念(定义) 操作系统 ( Operating System , OS )是指控制和 管理 整个计算机系统的 硬件和软件 资源,并合理地组织调度计算机的工作和资源的分配&#…

基于SSM的网络游戏公司官方平台

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

Swift学习笔记一(数组篇)

目录 0 绪论 1 数组的创建和初始化 2.数组遍历 2.1通过键值对遍历 2.2 通过forEach遍历 2.3 通过for in遍历 2.3.1 for in 搭配 enumerated 2.3.2 for in的另一种形式 2.3.2 for in 搭配 indices 2.4 通过Iterator遍历器遍历 3 数组的操作 3.1 contains 判断数组包含…

Redis之布隆过滤器(Bloom Filter)解读

目录 引进前言 隆过滤器定义 隆过滤器原理 布隆过滤器优缺点 布隆过滤器的使用场景 布谷鸟过滤器(了解) 引进前言 在实际开发中,会遇到很多要判断一个元素是否在某个集合中的业务场景,类似于垃圾邮件的识别,恶意ip地址的访问&#x…

NebulaGrap入门介绍和集群安装部署

长风破浪八千里,落日晚霞不回头。 ——大宁。 NebulaGrap——分布式图数据库 官方文档: ​ NebulaGraph Database手册 ​ 官方文档 介绍 简介: ​ NebulaGraph 一款开源、分布式图数据库,擅长处理超大规模数据集。 Nebula …

JS之闭包

一:什么是闭包 闭包是一个函数和其词法环境的组合 换个意思来说,闭包可以让开发者可以从函数内部访问到外部函数的作用域 在JS中,闭包会随着函数的创建而被同时创建 词法环境: 主要分两个对象 用于管理变量函数和作用域的关系 环…

《深入理解Java虚拟机》——Java内存区域与内存溢出异常

Java内存区域与内存溢出异常 运行时数据区域程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量池直接内存 实例堆溢出栈溢出 运行时数据区域 根据《Java虚拟机规范的规定》,Java虚拟机所管理的内存将会包含已下架几个运行时数据区域。 程序计数器 在Java虚…

【漏洞复现】EnjoySCM存在文件上传漏洞

漏洞描述 EnjoySCM是一款适应于零售企业的供应链管理软件,主要为零售企业的供应商提供服务。EnjoySCM的目的是通过信息技术,实现供应商和零售企业的快速、高效、准确的信息沟通、管理信息交流。。 该系统存在任意文件上传漏洞,攻击者通过漏洞可以获取服务器的敏感信息。 …

k8s入门到实战--跨服务调用

service.png 背景 在做传统业务开发的时候,当我们的服务提供方有多个实例时,往往我们需要将对方的服务列表保存在本地,然后采用一定的算法进行调用;当服务提供方的列表变化时还得及时通知调用方。 student: url: - 192.168.1…

【STM32】STM32F4调用DSP库实现FFT运算

写在前面 最近在整理之前的stm32笔记,打算把一些有价值的笔记发到CSDN分享一下。 奎斯特定理 在进行模拟/数字信号的转换过程中,当采样频率F大于信号中最高频率 fmax 的 2 倍时(F>2*fmax),采样之后的数字信号完整地保留了原始信号中的信…

高效采集模拟量模块数据方案

在现代工业自动化领域,模拟量采集是关键的环节之一。本文将详细介绍如何通过模拟量采集电压、电流和温度等数据,并利用上位机实现数据的获取和转化。同时,我们还将详细介绍模拟量采集上位机框架及其强大的功能,为企业实现高效的数…

华为认证系统学习大纲及课程

前言 任何学习过程都需要一个科学合理的学习路线,才能够有条不紊的完成我们的学习目标。华为认证网络工程师所需学习的内容纷繁复杂,难度较大,所以今天特别为大家整理了一个全面的华为认证网络工程师学习大纲及课程,帮大家理清思…

【DataV/echarts】vue中使用,修改地图和鼠标点击部分的背景色

引入:使用 DataV 引入地图的教程是参考别人的,主要介绍修改地图相关的样式; 引入地图 是参考别人的,这里自己再整理一遍,注意需要安装 5 版本以上的 echarts; DataV 网址:https://datav.aliyun.…

Unity Animation、Animator 的使用(超详细)

文章目录 1. 添加动画2. Animation2.1 制作界面2.2 制作好的 Animation 动画2.3 添加和使用事件 3. Animator3.1 制作界面3.2 一些参数解释3.3 动画参数 4. Animator中相关类、属性、API4.1 类4.2 属性4.3 API4.4 几个关键方法 5. 动画播放和暂停控制 1. 添加动画 选中待提添加…

Win10如何清理无效注册表

电脑中部分注册表文件其实是没有什么用的,如果用户不主动清理的话就会占用大量的内存空间,从而导致系统变得卡顿,那么Win10怎么清理无效注册表呢,下面小编就给大家详细介绍一下Win10清理无效注册表的方法,大家感兴趣的…

无涯教程-JavaScript - IMCOS函数

描述 IMCOS函数以x yi或x yj文本格式返回复数的余弦。 语法 IMCOS (inumber)争论 Argument描述Required/OptionalInumberA Complex Number for which you want the cosine.Required Notes Excel中的复数仅存储为文本。 当将格式为" a bi"或" a bj&quo…

门口通畅家运顺

每一次遇见,都是一个心愿,也许,前有未了的情缘,所以,此生才能得以见面,所有的遇见,一切都是最好的安排。前段时间,峰民再次故地重游,去到了呼伦比尔海拉尔区为预约客户来…

《protobuf》基础语法

文章目录 消息体定义字段规则编译选项实战:编写一个通讯录文件 消息体定义 文件内定义 message Phone {string number 1; }message PeopleInfo {string name 1;int32 age 2;Phone phone 3; }内嵌定义 message PeopleInfo {string name 1;int32 age 2;messa…

如何自启动MySQL服务与解决MySQL字符集问题

1、自启动mysql服务 (1)查看mysql是否自启动(默认自启动) systemctl list-unit-files|grep mysqld.service (2)如不是enabled可以运行如下命令设置自启动 systemctl enable mysqld.sercice2、字符集…

[DM8] DM-DM DBLINK DPI方式

前言 对于DM与DM之间的DBLINK,三种方式中,使用DPI方式配置上最为方便,ODBC方式需要安装ODBC包并配置ODBC数据源,dmmal方式需要设置MAL_INI数据库参数、配置dmmal.ini文件并需要重启数据库服务。 dpi类型的dblink,达梦…