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

MySQL中binlog、redolog与undolog的不同之处解析

在MySQL数据库中,binlog(二进制日志)、redolog(重做日志)和undolog(回滚日志)是三种不同类型的日志文件,它们各自承担着不同的角色以确保数据库的数据一致性和恢复能力。

Binlog (二进制日志)

Binlog是MySQL用来进行数据复制和恢复操作的一个重要组件。它记录了所有修改了数据库状态的语句,比如INSERT、UPDATE、DELETE等。这些记录是以事件形式存储,并且按照它们被执行的顺序来进行记录。
主要用途:

  • 主从复制:通过binlog实现数据在主从服务器之间同步。
  • 点对点恢复:如果需要将数据库回滚到某个特定时间点,可以使用binlog中存储的事件来实现。

特性:

  • 存储格式为二进制。
  • 可配置为按需刷新到磁盘。
  • 可以设置过期时间自动清理旧文件。

Redo Log (重做日志)

Redo Log属于InnoDB存储引擎特有,并且对于保证事务持久性至关重要。当一个事务被提交时,在事务所做更改真正写入表之前,这些更改会先写入到redolog中。如果系统发生故障导致未将内存中修改过但未持久化到磁盘上数据丢失,则可以通过redo log来重新执行这些操作确保数据不会丢失。

主要用途:

  • 故障恢复: 在系统奔溃后使用redo log重新执行那些已经提交但尚未写入硬盘上永久表空间文件里面去得变更操作。

特性:

  • 循环写入方式管理空间。

Undo Log (回滚日志)

Undo Log也是InnoDB引擎专有,在处理事务时非常关键。当进行INSERT、UPDATE或DELETE等操作时, InnoDB会生成相应undo log信息, 该信息能够撤销最近一次修改或者在并发情况下提供旧版本读(即MVCC)所需信息.

主要用途:

  • 提供MVCC: 在多版本并发控制下支持读已提交(Read Committed)和可重读(Repeatable Read)两种隔离级别.
  • 支持DML语句撤销: 如果一个事务需要被回滚, undo log就包含了所有必须应用于数据库以还原原始状态前所作出变化得反向操作.

特性:

  • 存放在共享表空间内部.

总结:

三者各司其职:

  1. BinLog负责记录所有影响数据变动得SQL语句序列, 主从同步与备份还原依赖此机理.
  2. RedoLog确保交易具备ACID属性里面D即Durability永久属性: 即使出现系统奇突然断电情况也能够根据RedoLog完成交易前已经标记为commit状态交易相关影响内容再次刷新至硬盤保存起來.
  3. UndoLog则负责维护多版本并发控制与支援用户层面上可能触及得rollback行为.

每个都扮演回答回溯与错误修正机构角色: BinLog像历史记载员详细记载每件大大小小事件; RedoLog则像紧急救援队伍遇见突發情況追踪最后活动轨迹尽力补救; UndoLog就类似时间机器可倒带历史让一切归位原始样貌同时兼具平行宇宙观察能让多人同时看见各自期望看见历程而互不干扰.

http://www.xdnf.cn/news/19863.html

相关文章:

  • 传统大数据 Hadoop 和 云原生湖仓 Databend 对比
  • Spring MVC + JSP 项目的配置流程,适合传统 Java Web 项目开发
  • LangGraph 重要注意事项和常见问题
  • 猫头虎AI分享:无需OCR,基于ColQwen2、Qwen2.5和Weaviate对PDF进行多模态RAG的解决方案
  • 基于STM32的居家养老健康安全检测系统
  • 中文分词器之结巴分词
  • GPT-Realtime 弹幕TTS API 低延迟集成教程
  • leetcode111. 二叉树的最小深度
  • 2025华为最值得入的耳机,真的赢麻了!
  • golang 依赖管理
  • 【C++详解】C++11(三) 可变参数模板、包扩展、empalce系列接⼝、新的类功能
  • 大数据开发环境搭建(Linux + Hadoop + Spark + Flink + Hive + Kafka)
  • ELK 统一日志分析系统部署与实践指南(下)
  • HDFS读写机制深度解析:分布式存储的核心奥秘
  • 下载ubuntu镜像下载
  • 试用Augment编写python脚本实现智能家居3D环境交互响应
  • Elasticsearch创建索引分片和副本大小建议
  • Cloudflare安全规则实用指南:从路径拦截到IP限制的10个经典范例
  • 第5节:分布式文件存储
  • DeepL Translate在线工具测评:精准翻译技术文档与学术论文,支持多格式文档上传保留原格式
  • 3D语义地图(3D Semantic Mapping)研究现状
  • Docker CI/CD 自动化部署配置指南
  • 移动端富文本markdown中表格滚动与页面滚动的冲突处理:Touch 事件 + 鼠标滚轮精确控制方案
  • Android把源Bitmap中心缩放到固定宽高的尺寸,Kotlin
  • 【C语言进阶】指针进阶_数组指针
  • Corrosion: 2靶场渗透
  • B样条曲线节点消去方法介绍
  • SylixOS 下的信号系统
  • Python面试题及详细答案150道(91-100) -- 迭代器与生成器篇
  • 鸿蒙HarmonyOS应用开发者认证:抢占万物智联时代先机