MySQL 主从复制涉及到了几个线程?

news2024/12/23 1:26:31

ms-mysql


目录

    • 前言
    • 一、主从同步原理
    • 二、主从同步分析


前言

说到主从,我相信大家在 MySQL 这一节面试经常被问到MySQL 的主从复制原理,而且大家背得滚瓜烂熟。但是在主从复制的过程中,是如何进程数据同步的,又涉及到了哪些线程呢?这些线程又是充当的什么角色呢?

首先,MySQL 有如下几种复制模式:

  • 主从复制模式:A - - > B
  • 主主复制模式:A < - - > B
  • 链式复制模式:A - - > B - - > C
  • 环形复制模式:A - - > B - - > C - - > A

生产环境中一般建议部署为主从模式,这也是比较稳健的一种 MySQL 复制方式,如果想实现一定程度上的高可用,可选择使用主主模式,但是主主模式必须确保任何一个时刻都只有一个数据库是 Active 状态(即读写状态),另一个数据库作为备用,否则就要解决自增键/主键的冲突问题。

一、主从同步原理

简单的主从复制基本原理如下:

  • 主库将更新写入二进制文件,并维护文件的一个索引来跟踪日志循环;
  • 从库复制主库的二进制日志事件到本地的中继日志(relay log);
  • 从库重放中继日志实现与主库的数据同步。

这里不进行深入的源码分析,有兴趣的自行查阅官方文档。

二、主从同步分析

MySQL 使用 3 个线程来实现同步(复制)功能,一个线程在主库上,另两个线程在从库上。

当从库执行 start slave指令时,从库将创建一个 I/O 线程,该线程用于连接主库并让主库发送记录在其二进制日志(主库二进制日志)中的语句。此时,主库会创建一个线程将其二进制日志的内容发送到从库,如下图,就是其创建的线程,有两个线程,是因为我的 MySQL 复制是双主双从架构(关于如何部署双主,可看看我前面的博文《基于 Docker 的 MySQL GTID 主从复制与测试》),下图是在某个一个主库上查询的,因此它有两个从库,所有就会生成两个 Binlog Dump 线程,该线程会发送更新的二进制内容到从库,并等待新的二进制日志更新,有更新就会推送。

show processlist\G

image-20230505182639729

然后从库的 I/O 线程读取主库 Binlog Dump 线程发送的内容并将读取的数据存储到从库的中继日志文件中,最后从库的 SQL 线程会将中继日志中的事件重演并最终落盘。I/O 线程与 SQL 线程位于从库上,如下图:

image-20230508095040342

而且要确保这两个线程均处于 Yes 状态,才能实现主从复制。

以上就是 MySQL 主从复制过程涉及到的三个线程!

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

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

相关文章

卖一辆亏5.8万美元!福特的困扰

随着电动化进入关键的「抢量」周期&#xff0c;加上年初掀起的降价潮&#xff0c;对于还无法适应转型节奏的传统汽车制造商来说&#xff0c;现在是一个艰难的时刻。 本月初&#xff0c;福特首席执行官Jim Farley表示&#xff0c;电动汽车市场的降价是"令人担忧的趋势"…

js垃圾回收机制各阶段问题以及解决方案

很多文章的三色标记法&#xff0c;增量标记法&#xff0c;新生代老生代&#xff0c;引用计数法&#xff0c;标记回收法。很容易给最开始学习垃圾回收算法的朋友搞混。文章适合有一部分基础&#xff0c;但是要把算法搞混的朋友们。这篇文章带大家梳理一下本人的思路&#xff0c;…

ASEMI代理ADV7125JSTZ330原装ADI车规级ADV7125JSTZ330

编辑&#xff1a;ll ASEMI代理ADV7125JSTZ330原装ADI车规级ADV7125JSTZ330 型号&#xff1a;ADV7125JSTZ330 品牌&#xff1a;ADI/亚德诺 封装&#xff1a;LQFP-48 批号&#xff1a;2023 引脚数量&#xff1a;48 工作温度&#xff1a;-40C~85C 安装类型&#xff1a;表面…

深夜12点,果断卸载Access,3分钟启用国产Access,源自WPS

Access的“忠实粉丝”&#xff0c;你我皆可能是一员 历经20多年迭代的微软Access&#xff0c;因简单易用&#xff0c;在全球吸引了一大批的“忠实粉丝”&#xff0c;你我可能就是其中的一员。 基于Windows操作系统的集成开发的大环境&#xff0c;Access的灵活性和实用性大大提…

QUIC在京东直播的应用与实践 | 京东云技术团队

作者&#xff1a;京东零售 周凯 一. 前言与背景 国内的互联网直播技术从2005年前后兴起&#xff0c;彼时最具代表性的直播产品是由PPLive创始人姚欣在华中科技大学就读期间发起的校园直播项目PPLive。当时的直播技术用的还是基于windows系统自带的mediaplayer内置的COM组件开…

小程序uniapp利用canvas生成海报并可以保存至相册

✨uniapp实现生成海报并保存至相册组件&#xff0c;u-popup可以根据自己所使用的组件进行替换 这里主要讲的是JS部分&#xff0c;css和元素相关的就不展开赘述了&#xff0c;下方先给大伙看看效果图&#xff0c;图的下方有代码讲解&#xff0c;最下方有完整代码&#xff0c;如…

Echarts 热力图的详细配置过程

文章目录 一&#xff0c;配置过程二&#xff0c;具体实例 一&#xff0c;配置过程 引入Echarts库和热力图插件 <script src"https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> <script src"https://cdn.jsdelivr.net/npm/…

Java多线程入门到精通学习大全?了解线程池和线程常用集合的基本原理、代码示例!(第六篇:线程池和集合的学习)

设计和实现多线程应用程序需要了解线程池、线程常用集合等相关知识。下面我们将分别介绍线程池、线程常用集合的原理、使用场景、代码示例、注意事项和总结。 1. 线程池 线程池是一种线程调度机制&#xff0c;它可以管理多个线程&#xff0c;并且可以重复使用这些线程来处理多…

Transformers回顾 :从BERT到GPT4

人工智能已成为近年来最受关注的话题之一&#xff0c;由于神经网络的发展&#xff0c;曾经被认为纯粹是科幻小说中的服务现在正在成为现实。从对话代理到媒体内容生成&#xff0c;人工智能正在改变我们与技术互动的方式。特别是机器学习 (ML) 模型在自然语言处理 (NLP) 领域取得…

大众软件之变:宾利品牌制造负责人接任CARIAD CEO

作者 | 德新 编辑 | 王博 上周五&#xff0c;Business Insider爆料了大众软件组织CARIAD人事大调整&#xff0c;董事会几乎全军覆没&#xff0c;引发轩然大波。 这周一&#xff0c;大众的官宣接踵而至——大众集团老兵、原宾利品牌制造负责人Peter Bosch接替CARIAD CEO一职。 …

《基于光学传感器的心房颤动检测:综述》阅读笔记

目录 一、论文摘要 二、论文十问 Q1&#xff1a;论文试图解决什么问题&#xff1f; Q2&#xff1a;这是否是一个新的问题&#xff1f; Q3&#xff1a;这篇文章要验证一个什么科学假设&#xff1f; Q4&#xff1a;有哪些相关研究&#xff1f;如何归类&#xff1f;谁是这一课…

数智无限|东土科技科东软件5月活动预告

这个5月&#xff0c;东土科技&科东软件将携带自主研发的国产操作系统Intewell、智能控制通用工具软件MaVIEW、边缘通用控制器NewPre、基于TSN技术的智能化工业网络硬件、数字工厂智能产线一站式解决方案&#xff0c;以及面向智能工厂的离散控制、流程控制、运动控制、机器人…

赋能户外赛事,时空道宇率先实现卫星应用商业闭环

最近这两年&#xff0c;卫星通信的崛起速度惊人&#xff0c;几乎成为了一个现象级风口。 在低轨星座、高通量卫星等技术的推动下&#xff0c;卫星通信的服务能力有了极大的提升&#xff0c;不仅覆盖范围越来越广阔&#xff0c;网络连接速率和时延也有了显著进步。 进入2023年以…

【沐风老师】3DMAX艺术样条线增强螺旋线插件使用教程

3DMAX艺术样条线、增强螺旋线插件使用教程 完美漂亮的卷曲形状&#xff01; 3DMAX艺术样条线插件用于创建漂亮的螺旋线、卷曲线和环形结样条曲线&#xff0c;具有数学精度。 例如制作饰品、装饰品、铁制品设计、珠宝、布饰品、古代文化的符号、触角、动画/分发/变形的路径等等…

5万字数字乡村建设与示范项目可行性研究报告

5.1 “三平台”&#xff1a;建设支撑农业发展农村治理惠民服务的三大应用平 台 5.3.1 建设智慧农业综合服务平台 夯实数字农业基础&#xff0c;推进重要农产品全产业链大数据建设。推进农业数字化转型&#xff0c;加快推广云计算、大数据、物联网、人工智能在农业生产经营管理…

基于STL的演讲比赛管理系统

目录 一、比赛规则描述 二、比赛程序的功能 三、比赛的运行结果 四、程序的实现 1、程序实现的大致思路 2、程序的模块化 <1>选手信息的类 <2>管理比赛所有进度的接口头文件 <3>比赛进行的实现 <4>用户的交互界面<演讲比赛管理系统.cpp>…

vue项目引入pwa使网页应用可安装

最近在使用vue项目时看到一个这样的效果&#xff0c;如图&#xff1a; 现在其实有很多网站都支持把网页安装到电脑或手机&#xff08;IOS Safari支持较好&#xff09;&#xff0c;如下图安装后的效果&#xff1a; 这些都是网页应用。 接下来介绍一下如何让你的vue2项目变得可以…

动态规划刷题篇【Day01】

目录 一.问题描述 描述 二.示例 三.动态规划方法 &#xff08;一&#xff09;最优子结构 &#xff08;二&#xff09;递推关系建立 &#xff08;三&#xff09;自底向上计算 &#xff08;四&#xff09;代码实现 一.问题描述 描述 输入一个长度为n的整型数组array&#xff…

Echarts 箱线图的详细配置过程

文章目录 Echarts 简介 Echarts 简介 ECharts&#xff08;百度开源的数据可视化库&#xff09;提供了丰富的图表类型&#xff0c;其中包括箱线图。箱线图是一种用于展示数据分布情况的图表类型&#xff0c;它可以显示数据的中位数、四分位数、最大值、最小值和异常值等信息。下…

23种设计模式之工厂方法模式

前言&#xff1a;大家好&#xff0c;我是小威&#xff0c;24届毕业生&#xff0c;在一家满意的公司实习。本篇文章将23种设计模式中的工厂方法模式&#xff0c;此篇文章为一天学习一个设计模式系列文章&#xff0c;后面会分享其他模式知识。 如果文章有什么需要改进的地方还请大…