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

binlog日志以及MySQL的数据同步

binlog

binlog是什么

  • 记录所有数据库表结构,表数据的修改,但是不会记录Select和Show这类操作

binlog有几种记录模式

三种记录模式

  • statement: 基于SQL语句的复制

  • row: 基于行的复制,记录每行数据的变更(保证了数据的一致性)

  • mixed: 混合使用statement和row的模式

binlog的应用

  • 系统级应用:主从复制,数据恢复

  • 业务级应用:数据收集

读多写少的场景

  • 可以使用MySQL主从架构来应对

如果读的流量进一步增大,我们是否可以多增加几个从库来应对高并发的读请求

:不可以,MySQL为了将binlog同步给每一个从库,都需要有单独的线程来处理,数据传输多份就要消耗更多的带宽,这会给主库的性能造成很大的压力,不仅不能提升系统性能,反而适得其反,对于生产环境来说,一般都是两到三个从库

MySQL是如何通过Binlog实现数据同步的

数据同步的模式

  • 同步模式:MySQL提交事务的线程会等待所有从库binlog去同步成功的响应(优点:不存在丢数据的情况)(缺点:效率低)

  • 异步模式(默认):MySQL提交事务的线程完全不关心binlog是否已经同步到从库,事务执行完成就会返回给客户端响应结果(缺点:如果主库宕机,数据存在丢失的风险)(优点:效率高)

  • 半同步模式:MySQL提交事务的线程不会等待所有从库binlog同步成功的响应,只要有一部分从库binlog同步成功就会返回给客户端响应结果

数据同步的阶段

  • 数据同步通过三个阶段实现(异步模式)

    • 一阶段:binlog的写入:主库数据写入binlog,再去提交事务,更新存储引擎的数据,事务提交完成后返回给客户端

    • 二阶段:binlog的同步:MySQL的从库创建的IO线程会连接到主库的binlog,主库会为每一个从库创建一个binlog-dump线程,然后从库的IO线程从binlog-dump中接收到主库的文件,把binlog文件写入到本地的relay-log中,最后返回成功的响应给主库

    • 三阶段: binlog重放:从库会创建一个SQL线程,会读取relay-log中的终极日志,重放binlog,从而更新从库中的数据,其实就是把binlog重新执行了一遍,加载到从库的DB中,完成主从的复制

http://www.dtcms.com/a/187357.html

相关文章:

  • CSS经典布局之圣杯布局和双飞翼布局
  • NLTK库: 数据集3-分类与标注语料(Categorized and Tagged Corpora)
  • archlinux中挂载macOS的硬盘
  • Mac修改hosts文件方法
  • 信息论14:从互信息到信息瓶颈——解锁数据压缩与特征提取的秘密
  • Jsp技术入门指南【十三】基于 JSTL SQL 标签库实现 MySQL 数据库连接与数据分页展示
  • Excel宏和VBA的详细分步指南
  • 进程间通信分类
  • org.slf4j.MDC介绍-笔记
  • 奇怪的公式
  • IntelliJ IDEA给Controller、Service、Mapper不同文件设置不同的文件头注释模板、Velocity模板引擎
  • 【认知思维】光环效应:第一印象的持久力量
  • 中国版 Cursor---腾讯云 CodeBuddy | 从安装VSCode到数独小游戏问世
  • IDEA查看类结构视图窗口,接口的所有的实现类图
  • TensorFlow 常见使用场景及开源项目实例
  • Spring WebFlux 与 WebClient 使用指南
  • PHP-FPM 调优配置建议
  • 开源自定义Python库并上传到PyPi
  • 利用 Python 进行量化的主要步骤
  • .Net HttpClient 使用Json数据
  • 原生小程序+springboot+vue医院医患纠纷管理系统的设计与开发(程序+论文+讲解+安装+售后)
  • 桑德拉精神与开源链动2+1模式AI智能名片S2B2C商城小程序的协同价值研究
  • GPT-4.1和GPT-4.1-mini系列模型支持微调功能,助力企业级智能应用深度契合业务需求
  • 运用数组和矩阵对数据进行存取和运算——NumPy模块 之六
  • 面试中被问到谈谈你对threadlocal的理解
  • 是 OpenCV 的 CUDA 模块中用于在 GPU 上对图像或矩阵进行转置操作函数cv::cuda::transpose
  • 职坐标AIoT开发技能精讲培训
  • 通过POI实现对word基于书签的内容替换、删除、插入
  • 随言随语(十二):盖章
  • Hadoop的目录结构和组成