MySQL三种日志

一、undo log(回滚日志)
1.作用:
(1)保证了事物的原子性
(2)通过read view和undo log实现mvcc多版本并发控制
2.在事务提交前,记录更新前的数据到undo log里,回滚的时候读取undo log来进行回滚
3.undo log格式有一个rtx_id(上一次事物修改的id)和roll_ptr(指向需要回滚的版本)
版本链

二、redo log
1.作用:保证事务的持久性
2.WAL(write-ahead logging)先写日志技术:MySQL的写操作不是立即写到磁盘上的,而是先写到buffer pool里的缓存页生成脏页,再将脏页产生的变化写入到redo log buffer中,事务提交的时候将redo log buffer中内容循环写到磁盘中的redo log file中。后续innoDB引擎在适当的时候由后台线程将buffer pool中的脏页刷新到磁盘中。如果由于意外脏页数据没有持久化,可以根据redo log恢复数据到最新状态。
3.redo log的磁盘操作是顺序写,比随机写更高效。

三、binlog(在server层而不是存储引擎层)
1.作用:用于备份(记录全量日志,不小心整个数据库的数据被删除了)、主从复制

参考:图解MySQL

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/736489.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Clickhouse: 随笔杂记

Clickhouse 文件缓存的使用 元数据缓存 1、Clickhouse启动的时候会加载所有表的元数据信息,这部分会缓存在内存里面。这部分的内存没有办法知道并且也不走MemoryTracker。 Mark数据缓存 2、Clickhouse会缓存表的mark信息在内存里, 使用LRU算法来控制。缓存大小通过…

java学习之路-数据类型与变量

目录 数据类型与变量 1. 字面常量 2. 数据类型 3. 变量 3.1 变量概念 3.2 整型变量 3.2.1 整型变量 3.2.2 长整型变量 3.2.3 短整型变量 3.2.4 字节型变量 3.3 浮点型变量 3.3.1 双精度浮点型 3.3.2 单精度浮点型 3.4 字符型变量 3.5布尔型变量 3.6 类型转换 …

苍穹外卖学习-----2024/03/010---修改套餐,套餐状态修改开发

修改套餐 4.1 需求分析和设计 产品原型: 接口设计(共涉及到5个接口): 根据id查询套餐根据类型查询分类(已完成)根据分类id查询菜品(已完成)图片上传(已完成&#xf…

Linux 地址空间

目录 一、程序地址空间 1、虚拟地址 Makefile新写法 2、进程地址空间分布 3、栈&堆 4、static修饰局部变量 5、字符串常量不可修改 6、虚拟地址与物理地址的联系 二、CPU读取程序全过程 1、形成可执行程序 2、生成虚拟地址 3、程序的启动 4、创建进程 5、地…

Python 学习——Python requests 库文档

目录 快速上手一、 发送请求二、 传递 URL 参数三、 响应内容3.1 文本相应内容3.2 二进制响应内容3.3 JSON 响应内容3.4 原始响应内容 四、 定制请求头五、 更加复杂的 POST 请求5.1 字典方式5.2 元组方式5.3 传递一个string5.4 JSON格式5.5 上传文件5.6 发送字符串为文件 六、…

OrangePiLinux连接小米手机使用adb显示“List of devices attached”的问题解决

参考文章adb连接不上手机,提示“List of devices attached” - 简书 (jianshu.com) adb解决报错error: no devices/emulators found error: cannot connect to daemon_adb.exe: no devices/emulators found-CSDN博客 error: no devices/emulators found解决办法-C…

Java三代日期类

文章目录 日期类第一代日期类第二代日期类第三代日期类LocalDateTime方法LocalDateTime格式化日期与时间戳的转换Date转换为时间戳时间戳转换为Date 日期类 在Java中,有三代日期类:java.util.Date、java.util.Calendar和java.time包下的日期类。这三代日…

【Redis】RedisTemplate序列化传输数据

使用自定义的序列化器 使用RedisTemplate默认的序列化器发送数据,会将key全都当成Object处理,从而按照对象的方式转成json格式发送到服务器,这样会导致两个问题。一是不方便阅读,二是会大大浪费内存。因此,建议自定义…

Linux之线程控制

目录 一、POSIX线程库 二、线程的创建 三、线程等待 四、线程终止 五、分离线程 六、线程ID:pthread_t 1、获取线程ID 2、pthread_t 七、线程局部存储:__thread 一、POSIX线程库 由于Linux下的线程并没有独立特有的结构,所以Linux并…

Qt设置右键菜单无效customContextMenuRequested(const QPoint pos)

问题代码: void MainWindow::onCustomContextMenuRequested(const QPoint &pos) {QTreeWidgetItem *item ui->treeWidget->itemAt(pos);if (item){QMenu menu(ui->treeWidget);TreeNodeType nodeType (TreeNodeType)item->data(0, Qt::UserRole …

LightDB24.1 oracle_fdw支持服务端GBK编码

功能介绍 oracle_fdw是一个PG的插件,用于连接oracle数据库,由于原生PG不支持服务端GBK编码,所以原生的oracle_fdw也不支持服务端GBK编码。在LightDB23.3中支持了服务端GBK编码,导致在GBK编码的数据库中使用oracle_fdw时报错。 Li…

python82-Python的函数高级内容之使用函数变量

Python的函数是“一等公民”,因此函数本身也是一个对象,函数既可用于赋值,也可用作其他函数的参数,还可作为其他函数的返回值。 使用函数变量 Python的函数也是一种值:所有函数都是function对象,这意味着可以把函数本…

es6的新特性

ECMAScript 6(也称为 ES6 或 ECMAScript 2015)是 JavaScript 的一个重要更新版本,引入了许多新的语法和功能,以提高开发效率和代码可读性。以下是 ES6 中一些比较常见和重要的新特性: let 和 const 声明: l…

一篇搞定mysql数据库基础

目录 一、MySQL具体的特点 1.关系型数据库(RDBMS): 2.MySQL是一个“客户端-服务器”结构的程序 Q1:服务器能不能知道客户端什么时候发请求?? Q2:服务器是只给一个客户端提供服务吗?? 二、M…

LeetCode 80.删除有序数组中的重复项 II

目录标题 删除有序数组中的重复项 II题目解题思路实现代码代码讲解总结删除有序数组中的重复项 II 题目 解题思路 慢指针指向满足条件的数字的末尾,快指针遍历原数组。 并且用一个变量记录当前末尾数字出现了几次,防止超过两次。最后返回维护慢指针的结果+1即可。 实现代…

聊聊pytho中的函数

Python中的函数 一、Python中函数的作用与使用步骤 1、为什么需要函数 在Python实际开发中,我们使用函数的目的只有一个“让我们的代码可以被重复使用” 函数的作用有两个: ① 代码重用(代码重复使用) ② 模块化编程&#x…

ChatGPT用不了,发了没反应,终于解决了!

大概在几天前的早上,ChatGPT突然就用不了。 这完全打乱了我的工作节奏!!!(所以,我就去玩了) 用不了的具体表现是,你输入内容之后,内容消失,按钮变灰&#xff…

flask流式响应

Flask提供了Response对象来处理HTTP响应。可以通过在视图函数中返回一个Response对象,然后使用Response对象的iter方法来实现将数据流式传输到客户端。 1.1 循环生成迭代数据块 from flask import Flask, Response, stream_with_context, requestapp Flask(__nam…

3488.最短路径floyd、并查集

N个城市,标号从 0 到 N−1,M 条道路,第 K 条道路(K 从 0开始)的长度为 2K,求编号为 0的城市到其他城市的最短距离。 输入格式 第一行两个正整数 N,M,表示有 N 个城市,M 条道路。接下…

上位机图像处理和嵌入式模块部署(qmacvisual条形码识别)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们谈到过,qmacvisual提供功能的方式主要就是插件导入。目前,大家如果能正确地把qmacvisual编译出来的话,…