MySQL-binlog、redolog和undolog的区别

news/2024/9/19 17:30:29 标签: mysql, 数据库, binlog, redolog, undolog

区别:
1、binlogmysql server层面的,用与数据备份和主从复制,每个执行引擎都有这个文件,比如Myisam和InnoDb
2、redoLog是InnoDb引擎特有的(实现了持久性),用于数据update,先将数据更新在内存,然后写入redolog,在空闲的时候写入磁盘
3、undlog也是InnoDb引擎特有的(实现了原子性),保存着更新前的语句,用于sql语句的回滚,MVCC用到了undolog,当读取的行被其他事务锁定时,可以从undolog找出该行记录之前的数据是什么,从而提供版本信息,保证用户的非一致性读取。
undolog—一条记录的每一次更新操作产生的 undo log 格式都有一个 roll_pointer 指针和一个 trx_id 事务id:

两阶段提交:在事务提交前redolog会有一个prepare阶段,这个阶段中先记录好redolog,然后在redolog提交commit之前,会记录binlog,记录好了之后会执行commit操作。

数据库崩溃能否使用undolog来恢复?
不能,因为undolog是循环写,写入磁盘后会将数据擦除。需要使用binlog来进行恢复,binlog是追加写。


http://www.niftyadmin.cn/n/5665905.html

相关文章

7.7opencv中(基于C++) 翻转图像

基本概念 在OpenCV中,翻转图像指的是沿着一个或多个轴翻转图像。OpenCV提供了一个函数 flip 来完成这个任务。这个函数可以沿着水平轴、垂直轴或者同时沿着水平和垂直轴翻转图像。 函数原型 void flip(InputArray src,OutputArray dst,int flipCode );参数说明 •…

使用python操作数据库

文章目录 一、问题背景二、安装python三、代码示例四、总结 一、问题背景 在日常开发过程中,随着项目进展和业务功能的迭代,我们需要对数据库的表结构进行修改,向部分表中追加字段,并对追加后的字段进行数据填充。但是如果需要追加…

platform与驱动框架之间的关系

文章目录 详细解释platform 与 Linux 驱动框架的关系 在 Linux 内核中, platform 是指 Linux 驱动模型中的一个子系统或框架,用于管理无总线的设备(例如 SoC 内部的设备),而不是一个完整的驱动框架。 详细解释 Platfo…

C语言 | Leetcode C语言题解之第414题第三大的数

题目&#xff1a; 题解&#xff1a; int cmp(const void *a, const void *b) {return *(int*)a < *(int*)b; }int thirdMax(int* nums, int numsSize){qsort(nums, numsSize, sizeof(nums[0]), cmp);int diff 0;for (int i 1; i < numsSize; i) {if (nums[i] ! nums[i…

9.18 微信小程序开发笔记

如何获取英语单词的发音&#xff0c;使其能在小程序界面通过点击外发&#xff1f; 1.通过外界API获取&#xff08;例如有道API&#xff09; 不下载音频文件&#xff0c;每次需要时直接API获取发音&#xff0c;存储压力小。但是一般的API都有使用次数限制&#xff0c;在背单词…

VirtualBox7.1.0 安装 Ubuntu22.04.5 虚拟机

环境 &#xff08;1&#xff09;宿主机系统&#xff1a;Windows10 &#xff08;2&#xff09;虚拟机软件&#xff1a;VirtualBox7.1.0 &#xff08;3&#xff09;虚拟机系统&#xff1a;Ubuntu 22.04.5 LTS (Jammy Jellyfish) 安装虚拟机 &#xff08;1&#xff09;第一步…

Java网络编程:构建高性能的TCP/IP服务

Java网络编程&#xff1a;构建高性能的TCP/IP服务 大家好&#xff0c;我是微赚淘客返利系统3.0的小编&#xff0c;是个冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在Java中&#xff0c;网络编程是一项基本而重要的技能。通过TCP/IP协议&#xff0c;Java能够实…

当电脑错误:msvcp140.dll丢失的解决方法?总结七种修复方法

在使用 Windows 操作系统时&#xff0c;许多用户可能会遇到系统会弹出错误消息&#xff0c;提示“msvcp140.dll 丢失”或“msvcp140.dll 未找到”的问题。这个动态链接库文件是 Microsoft Visual C 2015 Redistributable Package 的一部分&#xff0c;用于支持使用 Visual C 20…