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记录的是事务执行前的内容。

相关推荐
望获linux6 小时前
【实时Linux实战系列】FPGA 与实时 Linux 的协同设计
大数据·linux·服务器·网络·数据库·fpga开发·操作系统
总有刁民想爱朕ha6 小时前
Python自动化从入门到实战(24)如何高效的备份mysql数据库,数据备份datadir目录直接复制可行吗?一篇给小白的完全指南
数据库·python·自动化·mysql数据库备份
朝九晚五ฺ7 小时前
【Redis学习】持久化机制(RDB/AOF)
数据库·redis·学习
虾说羊7 小时前
sql中连接方式
数据库·sql
liweiweili1267 小时前
Django中处理多数据库场景
数据库·python·django
追逐时光者7 小时前
程序员必备!5 款免费又好用的数据库管理工具推荐
数据库
兮兮能吃能睡10 小时前
SQL中常见的英文术语及其含义
数据库·sql·oracle
Elastic 中国社区官方博客11 小时前
根据用户行为数据中的判断列表在 Elasticsearch 中训练 LTR 模型
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
王道长服务器 | 亚马逊云12 小时前
AWS CloudWatch:服务器的“眼睛”,实时监控一切动向
服务器·数据库·aws