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

相关推荐
lcanfly11 小时前
Mysql作业4
数据库·mysql
喜欢踢足球的老罗11 小时前
认证与授权:详解大型系统中用户中心与RBAC的共生关系
数据库·rbac
zhaomx198911 小时前
Spring 事务管理 Transaction rolled back because it has been marked as rollback-only
数据库·spring
l1t12 小时前
利用DeepSeek优化SQLite求解数独SQL用于DuckDB
开发语言·数据库·sql·sqlite·duckdb
lcanfly12 小时前
Mysql作业5
android·数据库·mysql
rit843249913 小时前
在Ubuntu上配置Nginx实现开机自启功能
数据库·nginx·ubuntu
海绵啵啵呀13 小时前
SQL plus中解决上下键找历史命令的工具--rlwrap命令行工具
数据库·sql
Elastic 中国社区官方博客13 小时前
使用 Mastra 和 Elasticsearch 构建具有语义回忆功能的知识 agent
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
老邓计算机毕设13 小时前
SSM危险品运输车辆信息管理系统b2z1o(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·ssm 框架