
LSN全称为 Log Sequence Number,即日志序列号。它是一个不断递增的数字,用来标识事务日志中的每个操作或事件。LSN是一个64位的数字,每一个LSN值都是唯一的,并且随时间线性增加。 通过SHOW ENGINE INNODB STATUS; 可以查看LSN

当事务修改数据时,修改操作会首先记录在redo log中,并为每个日志记录分配一个LSN。然后这些修改操作才会应用到数据页(page)上。数据页上的LSN表示该页的最新修改。
检查点将内存中的所有脏页刷新到磁盘,并更新检查点LSN。这个LSN表示所有数据页的状态都一致,且在此LSN之前的所有日志记录都已经应用到数据页中,可以认为是已经完成了持久化。
在崩溃恢复过程中,InnoDB从检查点LSN开始扫描redo log,并重做此LSN之后的所有日志记录。这样可以确保所有修改都被应用到数据页中,恢复数据库到崩溃前的一致状态。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。