binLog、redoLog和undoLog的区别

binLog主要用来对数据库进行数据备份、崩溃恢复和数据复制等操作,redoLog和undoLog主要用于事务管理,记录的是数据修改操作和回滚操作。redoLog用来做恢复,undoLog用来做回滚。

在mysql中,redoLog和undoLog只适用于InnoDB存储引擎,因为要支持事务。而不适用于MyISAM等其他存储引擎。而binLog适用于所有存储引擎。

binLog是mysql用于记录数据库中的所有DDL语句和DML语句的一种二进制日志。它记录了所有对数据库结构和数据的修改操作。bingLog主要用来对数据库进行备份、灾难恢复和数据复制等操作。binLog的格式分为基于语句的格式和基于行的格式。

目的:RedoLog的目的是为了保证事务的持久性,主要用于崩溃恢复,而UndoLog的目的是为了保证事务的原子性和一致性,主要用于事务回滚。另外,undoLog还支持MVCC(多版本并发控制)机制,用于在并发事务执行时提供一定的隔离性。

记录内容:RedoLog记录了事务的所有数据更改(这些日志不仅仅记录了数据更改的最终结果,而且还记录了实现这些修改的具体操作)。而undoLog记录的是事务执行前的内容。

相关推荐
q***81641 小时前
MySQL:数据查询-limit
数据库·mysql
p***92481 小时前
DBeaver连接本地MySQL、创建数据库表的基础操作
数据库·mysql
JIngJaneIL2 小时前
社区互助|社区交易|基于springboot+vue的社区互助交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·社区互助
晚风吹人醒.2 小时前
缓存中间件Redis安装及功能演示、企业案例
linux·数据库·redis·ubuntu·缓存·中间件
Y***98513 小时前
DVWA靶场通关——SQL Injection篇
数据库·sql
Yawesh_best3 小时前
告别系统壁垒!WSL+cpolar 让跨平台开发效率翻倍
运维·服务器·数据库·笔记·web安全
蒋士峰DBA修行之路3 小时前
实验二十八 SQL PATCH调优
数据库·sql·gaussdb
I***t7163 小时前
一条sql 在MySQL中是如何执行的
数据库·sql·mysql
一 乐4 小时前
应急知识学习|基于springboot+vue的应急知识学习系统(源码+数据库+文档)
数据库·vue.js·spring boot
微学AI5 小时前
内网穿透的应用-突破局域网束缚,MongoDB 远程访问使用cpolar原来可以这么简单
数据库·mongodb