MySQL主从复制原理

MySQL主从复制是一种异步、基于日志的、单向的数据库复制技术,它通过在主服务器上启用二进制日志(binlog)并将其发送给一个或多个从服务器,实现了从服务器与主服务器之间的数据同步。以下是MySQL主从复制原理的详细解释:

一、主服务器(Master)操作

  1. 启用二进制日志:主服务器需要启用二进制日志功能,并记录所有的数据库变更操作。这些操作包括数据的增、删、改等,都会被顺序地写入到二进制日志文件中。
  2. 日志写入:当主服务器上的数据库发生变更时,这些变更会被实时地记录到二进制日志中。二进制日志文件按照时间顺序排列,包含了所有数据库操作的记录。

二、从服务器(Slave)操作

  1. 连接主服务器:从服务器通过I/O线程连接到主服务器,并请求复制数据。这个连接过程通常是通过执行CHANGE MASTER TO语句来完成的,该语句提供了主服务器的连接信息以及二进制日志的起点位置。
  2. 获取二进制日志:主服务器在接收到从服务器的请求后,会为其启动一个dump线程。这个线程负责读取二进制日志中的内容,并将其发送给从服务器的I/O线程。从服务器的I/O线程在接收到这些日志内容后,会将其写入到本地的中继日志(relay log)文件中。
  3. 执行日志内容:从服务器的SQL线程会实时监控中继日志的内容是否有更新。一旦发现有新的日志内容,SQL线程就会解析这些日志内容中的SQL语句,并在从服务器上执行这些语句,以实现数据的同步。

三、复制过程及方式

  1. 复制过程

    • 从服务器通过I/O线程与主服务器的dump线程进行通信,获取主服务器的二进制日志内容。
    • 从服务器将获取到的二进制日志内容写入到本地的中继日志文件中。
    • 从服务器的SQL线程读取中继日志文件中的内容,并解析成SQL语句在本地执行。
  2. 复制方式

    • 基于语句的复制:复制进程将主服务器上的SQL语句复制到从服务器上执行。这种方式在简单场景下效率较高,但在某些复杂场景下可能会导致数据不一致。
    • 基于行的复制:复制进程将主服务器上的数据库行变更操作复制到从服务器上执行。这种方式能够避免基于语句复制中可能出现的数据不一致问题,但在某些场景下可能会占用较多的存储空间。
    • 混合复制:复制进程根据操作类型和情况选择使用基于语句的或基于行的复制方式。这种方式结合了前两种复制方式的优点,能够更灵活地应对不同的场景。

四、复制延迟及优化

  1. 复制延迟:由于网络延迟、从服务器的负载等原因,从服务器上的数据可能会滞后于主服务器上的数据。这种滞后被称为复制延迟。

  2. 优化方法

    • 尽量减少主服务器上的大事务操作,将大事务拆分为小事务进行分批更新。
    • 减少从服务器的数量,以降低主服务器的负载和复制延迟。
    • 使用多线程复制技术,提高从服务器同步数据的效率。
    • 监控和优化网络性能,减少网络延迟对复制延迟的影响。

综上所述,MySQL主从复制技术通过记录主服务器上的数据库变更操作,并将其同步到从服务器上,实现了数据的实时备份和读写分离。这种技术在提高数据可用性、可靠性和性能方面具有重要作用。

具体操作层面,请参考下面两篇文章

k8s搭建一主三从的mysql8集群---无坑-CSDN博客

k8s搭建双主的mysql8集群---无坑-CSDN博客

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

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

相关文章

AMD-OLMo:在 AMD Instinct MI250 GPU 上训练的新一代大型语言模型。

AMD-OLMo是一系列10亿参数语言模型,由AMD公司在AMD Instinct MI250 GPU上进行训练,AMD Instinct MI250 GPU是一个功能强大的图形处理器集群,它利用了OLMo这一公司开发的尖端语言模型。AMD 创建 OLMo 是为了突出其 Instinct GPU 在运行 “具有…

Spring Boot框架:构建符合工程认证的计算机课程

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

实现链式结构二叉树

目录 需要实现的操作 链式结构二叉树实现 结点的创建 前序遍历 中序遍历 后序遍历 计算结点个数 计算二叉树的叶子结点个数 计算二叉树第k层结点个数 计算二叉树的深度 查找值为x的结点 销毁 层序遍历 判断是否为完全二叉树 总结 需要实现的操作 //前序遍历 void …

DU模拟器(S5040A Open RAN Studio Player and Capture Appliance)

下行测试过程,由是德科技(https://www.keysight.com/cn/zh/home.html)的DU模拟器(S5040A Open RAN Studio Player and Capture Appliance)产生标准5G NR下行测试信号,经前传接口发送到小站进行基带处理、中射频、变频后从相控阵天…

工程认证标准下的Spring Boot计算机课程管理策略

5系统详细实现 5.1 管理员模块的实现 5.1.1 教师信息管理 基于工程教育认证的计算机课程管理平台的系统管理员可以管理教师,可以对教师信息修改删除以及查询操作。具体界面的展示如图5.1所示。 图5.1 教师信息管理界面 5.1.2 通知公告管理 系统管理员可以对通知公…

GeoHash处理经纬度,降维,空间填充曲线

个人博客:无奈何杨(wnhyang) 个人语雀:wnhyang 共享语雀:在线知识共享 Github:wnhyang - Overview 参考 https://segmentfault.com/a/1190000042971576 GeoHash原理以及代码实现_geohash编码-CSDN博客…

游戏引擎学习第三天

视频参考:https://www.bilibili.com/video/BV1XTmqYSEtm/ 之前的程序不能退出,下面写关闭窗体的操作 PostQuitMessage 是 Windows API 中的一个函数,用于向当前线程的消息队列发送一个退出消息。其作用是请求应用程序退出消息循环,通常用于处…

CSS中常见文本居中技巧详解

在网页设计中,文本居中是非常常见且重要的布局需求之一。无论是为了美观还是为了更好地传达信息,掌握文本居中的方法对于前端开发者来说都是必不可少的技能。本文将详细介绍几种常用的CSS文本居中方法,帮助读者解决实际开发中的问题。 默认情…

Java基础教程(001):Java基础概念:注释、关键字、字面量

文章目录 1、Java基础概念1.1 注释1.2 关键字1.3 字面量1.4 制表符 1、Java基础概念 1.1 注释 【1】注释概念 注释是在程序指定位置添加的说明性信息。 简单理解,就是对代码的一种解释。 【2】注释分类 单行注释:// 注释信息多行注释:/…

SIwave:释放 SIwizard 求解器的强大功能

SIwave 是一种电源完整性和信号完整性工具。SIwizard 是 SIwave 中 SI 分析的主要工具,也是本博客的主题。 SIwizard 用于研究 RF、clock 和 control traces 的信号完整性。该工具允许用户进行瞬态分析、眼图分析和 BER 计算。用户可以将 IBIS 和 IBIS-AMI 模型添加…

Windows10 下通过 Visual Studio2022 编译 openssl 3.4

Windows10 下通过 Visual Studio2022 编译 openssl 3.4 1 准备环境1.2 perl1.2.1 ActiveState Perl 和 Strawberry Perl 的区别1.2.2 perl 下载1.2.3 验证安装1.2 NASM1.2.1 Windows 安装 NASM1.2.2 解压1.2.3 配置 NASM 的环境变量1.3 VS 配置1.3.1 配置 VS nmake 的环境变量1…

了解Hadoop:大数据处理的核心框架

在当今数据爆炸的时代,海量数据的存储和处理已成为一个巨大的挑战。传统数据库和计算模型难以应对如此庞大的数据规模。为了解决这一问题,Apache Hadoop应运而生,它是一种分布式存储和处理框架,能够高效地处理海量数据。本文将详细…

本溪与深圳市新零售产业互联协会共商世界酒中国菜湾区农业发展

本溪满族自治县与深圳市新零售产业互联协会汇聚鹏城共商世界酒中国菜大湾区农业发展大计 2024年11月9日下午2点,深圳市新零售产业互联协会内气氛热烈,一场关乎农业产业发展未来的重要讨论正在这里举行。此次会议汇聚了来自本溪满族自治县和大湾区的众多精…

互联网广告的变现逻辑|计费模式|CPC、CPM、OCPC、OCPM

写在前面 最近的工作和广告相关,就整理一下自己学到的关于互联网广告变现的一些知识。 广告是互联网主要变现手段之一,一般的互联网公司都会有个商业化部门专门做广告的变现。那广告究竟是怎么变现的呢?怎么广告的好坏和什么有关呢&#xff1…

从0开始深度学习(29)——文本预处理

序列数据中,最常见的例子就是文本数据,例如,一篇文章可以被简单地看作一串单词序列,甚至是一串字符序列。 本节中,我们将解析文本的常见预处理步骤。 0 文本预处理步骤 将文本作为字符串加载到内存中。将字符串拆分为…

JDBC学习笔记--JdbcUtil工具类

目录 (一)为什么要使用JdbcUtil工具类 (二)创建一个prorperties文件 1.在文件目录或src目录下,选择新建FIle 2.创建properties文件 3.编写配置文件 Java基础:反射 4.获取资源的方式 第一种 第二种…

DNS域名解析

1、DNS简介 DNS(Domain Name System)是互联网上的一项服务,它作为将域名和IP地址相互映射的一个分布式 数据库,能够使人更方便的访问互联网。 DNS系统使用的是网络的查询,那么自然需要有监听的port。DNS使用的是53端…

点云从入门到精通技术详解100篇-基于结构光测量的三维人脸重建及识别(下)

目录 4.4 实验结果与分析 5 基于多特征组合阈值技术的三维人脸识别 5.1 引言 5.2 基于多特征组合阈值技术的部分遮挡三维人脸识别 5.2.1 三维人脸预处理 5.2.2 三维人脸表征 5.2.3 混合平均脸生成 5.2.4 基于多特征组合式遮挡去除法 5.2.5 神经网络架构 5.2…

A025-基于SpringBoot的售楼管理系统的设计与实现

🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…

私域流量圈层在新消费时代的机遇与挑战:兼论开源 AI 智能名片、2 + 1 链动模式、S2B2C 商城小程序的应用

摘要:本文剖析了私域流量圈层在新消费时代呈现出的独特温度与信任优势,阐述了从传统销售到新消费转型中用户心理的变化。同时,强调了内容对于私域流量的关键作用,并分析开源 AI 智能名片、2 1 链动模式、S2B2C 商城小程序在私域流…