首页 > 数据库 >MySQL 主从复制的执行流程

MySQL 主从复制的执行流程

时间:2024-04-19 20:12:01浏览次数:26  
标签:主从复制 流程 复制 MySQL 服务器 日志 数据 变更

MySQL 主从复制的执行流程可以分为以下几个主要步骤:

1.主服务器记录数据变更:
当主服务器接收到写操作(如 INSERT、UPDATE、DELETE)时,它将这些操作的变更信息记录到自己的二进制日志(Binary Log)中。二进制日志包含了所有对数据库进行更改的记录。

2.从服务器连接到主服务器:
从服务器连接到主服务器,并请求复制主服务器上的二进制日志。从服务器通过 CHANGE MASTER TO 命令设置复制连接的参数,包括主服务器的主机名、端口、二进制日志文件名和位置等信息。

3.从服务器请求数据变更:
从服务器发送一个请求,请求从主服务器获取二进制日志中特定位置之后的所有变更信息。

4.主服务器传送数据变更:
主服务器收到从服务器的请求后,开始传送二进制日志中的数据变更信息给从服务器。这些数据变更以事件的形式发送,包括了对数据库进行的 INSERT、UPDATE、DELETE 等操作。

5.从服务器应用数据变更:
从服务器接收到主服务器传送过来的数据变更后,将这些变更应用到自己的数据库中。从服务器会按照接收到的顺序,逐个应用这些数据变更操作,从而保持与主服务器数据的一致性。

6.复制进程持续运行:
一旦复制进程启动并成功连接到主服务器,它将持续运行,不断地从主服务器获取新的数据变更并应用到从服务器上。这样就实现了主从之间的持续数据同步。

7.监控复制状态:
管理员可以定期监控主从复制的状态,包括复制进程是否在运行、延迟情况、复制错误等。通过监控复制状态,可以及时发现并解决复制过程中的问题,确保数据的一致性和可靠性。

总的来说,MySQL 主从复制通过在主服务器上记录数据变更,并将这些变更传送给从服务器,实现了多个数据库实例之间的数据同步,提高了数据的可用性和可靠性。

标签:主从复制,流程,复制,MySQL,服务器,日志,数据,变更
From: https://www.cnblogs.com/apelet/p/18146706

相关文章

  • LightDB兼容扫描 - 事前SQL兼容迁移评估工具24.1支持MySQL --> TDSQL-PostgreSQL兼容
    兼容扫描工具下载地址:事前SQL兼容迁移评估工具使用说明:LightDB-事前SQL兼容迁移评估工具使用手册本次24.1版本新增了对MySQL迁移到TDSQL-pg的兼容性扫描。工具的具体使用方法请阅读使用说明文档,针对本次更新,涉及配置项targetDataBase改为MySQL-to-TDSQL-PostgreSQL。以下是......
  • Mysql数据库插入Emoji,字符集设置utf8mb4
    字符集和校对规则字符集(CHARACTERSET)为字母和符号的集合。例如latin1(MySQL默认),utf8和utf8mb4等等…不同字符集的默认校对规则和1个字符最大支持的字节长度可能不一样。校对规则(COLLATE)为规定字符如何比较的指令。比如当我们SQL语句后面需要根据某个字段orde......
  • mysql连接控制插件connection_control介绍
    原文链接:https://blog.csdn.net/yabingshi_tech/article/details/132718295前言:当连接数据库失败次数过多时,MySQL是否会限制登录呢?数据库服务端应该怎么应对暴力破解呢?本篇文章介绍下MySQL中的连接控制插件,一起来学习下此插件的作用。1.连接控制(connection_control)插件介绍......
  • mysql 用户权限配置
    --新建用户CREATEUSER'feng'@'%'IDENTIFIEDBY'123';--给用户赋予test2数据库的user表的只读权限GRANTSELECTONtest2.userTO'feng'@'%';--给用户赋予test2数据库所有表的只读权限GRANTSELECTONtest2.*TO'feng'@'%'......
  • MySQL安全登录策略
    原文链接:https://blog.csdn.net/weixin_46106069/article/details/129183418今天看到了安装validate_password插件,查下是什么,学习下。MySQL密码复杂度策略设置:MySQL系统自带有validate_password插件,此插件可以验证密码强度,未达到规定强度的密码则不允许被设置。MySQL5.7......
  • MySQL数据库
    MySQL数据库一、数据库简洁1.1什么是数据库1.2表1.3数据类型​ 字符串类型​ 主键PrimaryKey[PK]一个表只能有一个主键,这个主键可能是一列或多列组成选取主键的时候,尽量最少选择列,主键列的值不更改。主键值无意义。主键由多列组成(最多就是两列),该逐渐称为复合主键1.4......
  • 使用 Docker 部署 Draw.io 在线流程图系统
    1)介绍Draw.ioGitHub:https://github.com/jgraph/drawioDraw.io是一款开源的绘制流程图的工具,拥有大量免费素材和模板。程序本身支持中文在内的多国语言,创建的文档可以导出到多种网盘或本地。无论是创建流程图、组织结构图、网络拓扑图还是其他类型的图表,Draw.io基本都能满足......
  • Qt6 连接 MySql数据库
    前言教程参考:http://t.csdnimg.cn/wKAk3Qt6是没有mysql驱动是要自己安装的,而且在Qt6是没有.pro文件,只能用cmake进行编译,特别的坑。我也是被坑惨了,还去傻乎乎地找.por文件,整了半天。必看这个教程是针对Qt6的,如果用的是Qt5,则不适用!在连接前要先安装Mysql,可以参考http://t......
  • Ubuntu22.04安装MySQL8
    Ubuntu22.04安装MySQL8第一部分:安装mysql使用apt安装sudoaptupdatesudoaptinstall-ymysql-server安装完成之后自动结束,不需要输入密码。更新用户密码这里默认安装的是mysql8.0版本,因为i没有输入密码;所以无法使用mysql-uroot-p进入mysql,需要执行这个命令(一定要......
  • mysql
    sql语法单行或多行书写,分号结尾sql语句不区分大小写DDL数据定义语言数据库操作CREATEDATABASE[IFNOTEXISTS]name[DEFAULTCHARSET=name]DROPDATABASEnameUSEnameSHOWDATABASESSELECTDATABASE()表操作SHOWTABLESDESCname//显示表结构SHOWCRE......