当前位置: 首页 > news >正文

MySQL主从同步

	MySQL主从同步(也称为复制)是一种重要的数据同步技术,它用于将一个MySQL服务器(主服务器)上的数据和变
更实时复制到另一个或多个MySQL服务器(从服务器)。这种技术广泛应用于数据备份、读写分离、故障恢复等多种场景。

一、基本概念

主服务器(Master):原始数据库系统,所有的写操作(如INSERT、UPDATE、DELETE)都在主服务器上进行,并负责将数据更改记录到二进制日志(Binary Log)中。
从服务器(Slave):主服务器的副本,接收主服务器上的二进制日志,并将其应用到自己的数据库中,以实现数据的同步。从服务器通常用于读操作,以减轻主服务器的压力。

二、核心组件

二进制日志(Binary Log):主服务器上记录所有数据更改操作的日志文件,包含了插入、更新和删除等操作的详细信息。这是MySQL主从同步的基础。
中继日志(Relay Log):从服务器上的一个日志文件,存储了从主服务器接收到的二进制日志的副本。从服务器会读取中继日志,并将其中的操作应用到自己的数据库中。

三、同步流程

连接与请求:
从服务器上的I/O线程连接到主服务器,并请求从某个二进制日志位置点开始的数据变更。
主服务器上的binlog dump线程负责读取并发送这些二进制日志内容给从服务器的I/O线程。
写入中继日志:
从服务器的I/O线程接收到二进制日志事件后,会将这些事件写入自己的中继日志中。
中继日志是从服务器上的一个日志文件,用于存储从主服务器接收到的二进制日志的副本。
重放事件:
从服务器上的SQL线程会读取中继日志中的事件,并按照这些事件在主服务器上发生的顺序在从服务器上执行。
这样,从服务器上的数据就能够与主服务器保持同步。

四、复制方式

MySQL主从同步支持多种复制方式,主要包括:

异步复制:这是MySQL默认的复制方式。主服务器在写入二进制日志后即完成了复制操作,不会等待从服务器确认。这种方式性能较高,但可能导致数据在主从服务器之间存在一定的延迟。
半同步复制:主服务器在写入二进制日志后,会等待至少一个从服务器确认已收到并记录下日志事件,才认为复制操作完成。这种方式提高了数据一致性,但可能会增加主服务器的响应时间。
全同步复制:主节点和全部从节点执行了commit并确认后,才会向客户端返回成功。这种方式可以确保数据的一致性,但会显著降低性能。

五、应用场景

数据备份:通过主从同步,可以将主服务器上的数据实时复制到从服务器上,实现从服务器作为数据备份的功能。
读写分离:主服务器处理写请求,从服务器处理读请求,以减轻主服务器的压力并提高整个系统的处理能力。
故障恢复:在主服务器发生故障或数据丢失的情况下,可以快速切换到从服务器,实现灾难恢复。

六、注意事项

	主从同步过程中,主服务器的性能影响较小,但网络延迟和从服务器处理事件的速度可能会导致从服务器与主服务
器之间的延迟。管理者需要监控复制延迟,并确保所有从服务器都能及时地跟上主服务器的数据变更。

http://www.mrgr.cn/news/18356.html

相关文章:

  • 沉浸式体验亚马逊云科技上私有化部署零一万物AI大模型
  • 2222. 分糖果(candy)
  • 深度解析MFT损坏:原因、恢复策略与预防措施
  • 监控平台之批量上报
  • 新员工一口气写完了这些C语言例子,领导给他转正了!
  • mysql(查询)
  • 【C++】N卡无法录制,如何下载C++
  • 【软件测试专栏】软件测试 — 用例篇
  • 什么是Java中的封装?请举例说明如何通过封装实现数据隐藏和访问控制。请解释Java中的抽象类和抽象方法的作用和使用场景。
  • KAN学习Day1——模型框架解析及HelloKAN
  • Linux--网络指令UDP,TCPwindows连接服务器
  • jenkins-gitee-genkins
  • FPGA与高速ADC LVDS数据接口设计考虑
  • 2.6 时序与总线操作
  • 代码随想录算法训练营四十八天|739.每日温度、496.下一个更大元素 I、503.下一个更大元素II
  • 计算机网络之体系结构
  • 解释头结点、第一个结点(或称首元结点)、头指针这三个概念的定义及其区别
  • 12_Linux时间处理操作
  • Datawhale X 李宏毅苹果书 AI夏令营 Task3打卡
  • 一文读懂PINGPONG:0成本在普通家用机上运行多个网络节点