MySql ---redo log、binlog、undo log

redo log 重做日志:innodb存储引擎层的日志,记录数据修改后的值,不管事务成功提交与否,如数据库掉电,InnoDB存储引擎会使用redo log恢复到掉电前的时刻,以此来保证数据的完整性,在执行一条更新语句时,innoDb先将该语句写入日志文件,然后更新缓存,等到空闲或者按照策略在更新磁盘,这个又叫WAL即Write Ahead logging技术,他的关键点是先写日志,再写磁盘,依赖redo log是有crash-safe能力的

binlog:属于MySQL Server层面的,又称为归档日志,属于逻辑日志,是以二进制的形式记录的是这个语句的原始逻辑,依靠binlog是没有crash-safe能力的

undu log 日志用于记录事务开始前的状态,用于事务失败时的回滚操作;redo日志记录事务执行后的状态,用来恢复未写入data file的已成功事务更新的数据,例如某一事务的事务序号为T1,其对数据X进行修改,设X的原值是5,修改后的值为15,那么Undo日志为<T1, X, 5>,Redo日志为<T1, X, 15>

https://blog.csdn.net/u010002184/article/details/88526708

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容