主从复制原理

简介: MySQL binlog(binary log 即二进制日志文件) 主要记录了 MySQL 数据库中数据的所有变化(数据库执行的所有 DDL 和 DML 语句)。因此,我们根据主库的 MySQL binlog 日志就能够将主库的数据同步到从库中

MySQL binlog(binary log 即二进制日志文件) 主要记录了 MySQL 数据库中数据的所有变化(数据库执行的所有 DDL 和 DML 语句)。因此,我们根据主库的 MySQL binlog 日志就能够将主库的数据同步到从库中。

更具体和详细的过程是这个样子的

MySQL主从复制

  1. 主库将数据库中数据的变化写入到 binlog
  2. 从库连接主库
  3. 从库会创建一个 I/O 线程向主库请求更新的 binlog
  4. 主库会创建一个 binlog dump 线程来发送 binlog ,从库中的 I/O 线程负责接收
  5. 从库的 I/O 线程将接收的 binlog 写入到 relay log 中。
  6. 从库的 SQL 线程读取 relay log 同步数据本地(也就是再执行一遍 SQL )。

怎么样?看了我对主从复制这个过程的讲解,你应该搞明白了吧!

你一般看到 binlog 就要想到主从复制。当然,除了主从复制之外,binlog 还能帮助我们实现数据恢复。

🌈 拓展一下:

不知道大家有没有使用过阿里开源的一个叫做 canal 的工具。这个工具可以帮助我们实现 MySQL 和其他数据源比如 Elasticsearch 或者另外一台 MySQL 数据库之间的数据同步。很显然,这个工具的底层原理肯定也是依赖 binlog。canal 的原理就是模拟 MySQL 主从复制的过程,解析 binlog 将数据同步到其他的数据源。

另外,像咱们常用的分布式缓存组件 Redis 也是通过主从复制实现的读写分离。

🌕 简单总结一下:

MySQL 主从复制是依赖于 binlog 。另外,常见的一些同步 MySQL 数据到其他数据源的工具(比如 canal)的底层一般也是依赖 binlog 。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
存储 自然语言处理 数据可视化
决策树模型算法研究与案例分析
决策树算法是一种基本的分类与回归方法,是最经常使用的算法之一。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。它可以认为是基于规则的集合。本文首先介绍决策树定义、工作原理、算法流程、优缺点等,然后结合案例进行分析。(本文原创,转载必须注明出处: 决策树模型算法研究与案例分析)
10556 273
|
存储 算法 索引
408王道操作系统强化——存储管理及大题解构(上)
408王道操作系统强化——存储管理及大题解构
1374 1
408王道操作系统强化——存储管理及大题解构(上)
|
运维 监控
WLAN无线局域网技术基础(三)无线侧组网概念,2.4GHz频段与5GHz频段区别和优缺点,胖AP架构和瘦AP架构的优缺点
WLAN无线局域网技术基础(三)无线侧组网概念,2.4GHz频段与5GHz频段区别和优缺点,胖AP架构和瘦AP架构的优缺点
1586 0
WLAN无线局域网技术基础(三)无线侧组网概念,2.4GHz频段与5GHz频段区别和优缺点,胖AP架构和瘦AP架构的优缺点
|
消息中间件 缓存 前端开发
实时数据订阅与分发系统概述
实时数据订阅与分发系统概述
1349 0
实时数据订阅与分发系统概述
9hutool实战:FileUtil 文件工具类(读取文件)
9hutool实战:FileUtil 文件工具类(读取文件)
2758 0
9hutool实战:FileUtil 文件工具类(读取文件)
|
缓存 监控 安全
Spring Boot Actuator的端点都怎么用?咱用事实说话!
Spring Boot Actuator的端点都怎么用?咱用事实说话!
1382 0
Spring Boot Actuator的端点都怎么用?咱用事实说话!
|
存储 分布式计算 监控
Nebula 分布式图数据库介绍
Nebula 分布式图数据库介绍
1421 0
Nebula 分布式图数据库介绍
|
机器学习/深度学习 算法 Serverless
sklearn中分类模型评估指标(四):Jaccard相似系数、铰链损失、对数损失
Jaccard相似系数 jaccard_score函数计算标签集对之间的 Jaccard 相似系数的平均值,也称为 Jaccard 指数。 第 i 个样本的 Jaccard 相似系数,具有真实标签集yiy_iyi​和预测标签集y^i\hat{y}_iy^​i​,其公式定义为:
|
存储 监控 安全
云上直播性能优化及测试方案详解
互联网技术的发展极大地降低了直播的门槛,让直播技术由庙堂之高走向普罗大众。近年来视频直播行业发展非常迅猛,但是直播风光的背后却有着不少的行业挑战,例如访问流量的峰谷效应、日益严峻的安全形式、网络威胁和攻击、不可控的用户监管问题等等,都困扰着直播行业。
4924 0