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日志为,Redo日志为

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

你可能感兴趣的:(MySql ---redo log、binlog、undo log)