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

MySQL中的三种日志

MySQL 包括三种类型的⽇志,分别是 binlog、 redolog 和 undolog,它们分别有不同的作⽤和特点。

binlog (存档日志)

binlogBinary log)是 MySQL 中的⼆进制⽇志⽂件,是 Server 层⽣成的的⽇志,主要⽤于数据备份和主从复制。⽤于记录 MySQL 服务器上的所有更新和修改操作。它可以记录所有的 DDLData Definition Language)和 DMLData Modification Language)操作,包括对表结构的更改、数据的插⼊、修改、删除等等。binlog是在事务提交后⽣成的,因此可以⽤于恢复数据库。

redolog

redologRedo log)⽤于恢复数据,保证数据的⼀致性和持久性。当 MySQL 发⽣修改时, redolog 会将这些操作记录下来,并写⼊磁盘。这样,当 MySQL 发⽣宕机或崩溃时,通过重放 redolog 就可 以恢复数据。

undolog

undologUndo log)⽤于回滚操作。当 MySQL 发⽣事务回滚时,undolog 会记录这些操作并将其写⼊磁盘。这样,当 MySQL 需要回滚时,通过重放 undolog 就可以回滚事务。

区别

binlog redolog 都是 MySQL 中的⼆进制⽇志,但是它们的作⽤和实现⽅式有所不同。binlog MySQL 记 录所有的操作,⽽ redolog 则是⽤于保证数据的⼀致性和持久性。此外,binlog 是逻辑⽇志,redolog 是物理⽇志。binlog 记录的是SQL语句,⽽ redolog 记录的是数据⻚的修改,所以 binlog 可以跨平台使⽤,⽽ redolog 不能。undolog redolog 的区别是,undolog 是⽤于回滚操作的,⽽ redolog 是⽤于恢复数据。

uodolog 格式由 trx_ 事务 id + roll_pointer 指针串成⼀个链表,即版本链。此外在读提交和可重复读 隔离级别中,uodolog 和快照 readView 实现了 MVCC

redolog:它是为了防⽌机器故障导致数据丢失的物理⽇志,它⽤于记录数据⻚做了什么修改,每当执⾏⼀ 条事务就会产⽣这样的⼀条或多条物理⽇志,然后通过顺序写写⼊磁盘。它和 uodolog 区别是:

redolog 记录了 此次事务完成后的数据状态,记录的是更新之后的值;undolog 记录了此次事务开始前的数据状态,记录的是更 新之前的值;它保证了数据的持久性。

binlog 是逻辑⽇志,在完成⼀条更新操作后,server 层会⽣成 binlog,等事务提交时,将此事务运⾏中产⽣的所 有 DDL 记录通过追加写统⼀写⼊ binlog ⽇志⽂件,保存的是全量的⽇志,⽤于备份恢复和主从复制。

http://www.lryc.cn/news/329518.html

相关文章:

  • Codeforces Round 932 (Div. 2)(A,B,C,D)
  • 初识C++ · 入门(2)
  • 【opencv】教程代码 —ShapeDescriptors
  • 2024-03-28 Java8之Collectors类
  • 第116讲:使用Mycat-eye管理Mycat数据库服务
  • XR虚拟直播间,引领创新风潮,打破直播局限!
  • unity双层滑动实现
  • 浅谈AI技术创业有哪些机会?
  • 大数据-TXT文本重复行计数工具
  • 【无标题】331
  • MIT最新研究成果 机器人能够从错误中纠偏 无需编程介入和重复演示
  • C语言—指针数组
  • OpenCV图像二值化
  • java中的抽象类
  • 代码随想录算法训练营第二十天| 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树
  • 2014年认证杯SPSSPRO杯数学建模A题(第二阶段)轮胎的花纹全过程文档及程序
  • C#全新一代医院手术麻醉系统围术期全流程源码
  • Python 神器:一键下载 M3U8 并转换为 MP4
  • vue3全局控制Element plus所有组件的文字大小
  • 区间预测 | Matlab实现带有置信区间的BP神经网络时间序列未来趋势预测
  • Matlab中的脚本和函数
  • 使用 nohup java - jar 不输出nohup日志
  • Linux系统中安装一些常用的插件备用
  • 笔记本电脑上部署LLaMA-2中文模型
  • 百度云加速方法「Cheat Engine」
  • SOC内部集成网络MAC外设+ PHY网络芯片方案:PHY芯片基础知识
  • openGauss 6.0.0-RC1 版本正式发布!
  • 【JVM】关于JVM垃圾回收
  • Unity照片墙简易圆形交互效果总结
  • Unity2018发布安卓报错 Exception: Gradle install not valid