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

相关推荐
不知名的老吴几秒前
Redis的延迟瓶颈:TCP栈开销无法避免
数据库·redis·缓存
YOU OU1 分钟前
三大范式和E-R图
数据库
一江寒逸12 分钟前
零基础从入门到精通MySQL(上篇):筑基篇——吃透核心概念与基础操作,打通SQL入门第一关
数据库·sql·mysql
@土豆14 分钟前
Ubuntu 22.04 运行 Filebeat 7.11.2 崩溃问题分析及解决文档
linux·数据库·ubuntu
专注API从业者26 分钟前
淘宝商品详情 API 与爬虫技术的边界:合法接入与反爬策略的技术博弈
大数据·数据结构·数据库·爬虫
爱码小白34 分钟前
MySQL 单表查询练习题汇总
数据库·python·算法
WangJunXiang635 分钟前
第09章:PostgreSQL日常维护
数据库·postgresql
三道渊1 小时前
进程通信与网络协议
开发语言·数据库·php
徒 花1 小时前
数据库知识复习05
android·数据库
豆沙糕1 小时前
RAG文档切分最佳实践:企业级方案+主流策略+生产落地
数据库·人工智能