MySQL-LSN
查看lsn:
show engine innodb status
Log sequence number 2687274848548
Log flushed up to 2687274848516
Pages flushed up to 2687273963960
Last checkpoint at 2687273963960
1 简单说明
Log sequence number: 当前系统最大的LSN号
log flushed up to:当前已经写入redo日志文件的LSN
pages flushed up to:已经将更改写入脏页的lsn号
Last checkpoint at就是系统最后一次刷新buffer pool脏中页数据到磁盘的checkpoint
2 以上4个LSN是递减的,即: LSN1>=LSN2>=LSN3>=LSN4.
3 内容
每个数据页有LSN,重做日志有LSN,checkpoint有LSN。
4 定义说明
1 LSN(log sequence number)日志序列号,5.6.3之后占用8字节,LSN主要用于发生crash时对数据进行recovery,LSN是一个一直递增的整型数字,表示事务写入到日志的字节总量。
LSN不仅只存在于重做日志中,在每个数据页头部也会有对应的LSN号,该LSN记录当前页最后一次修改的LSN号,用于在recovery时对比重做日志LSN号决定是否对该页进行恢复数据。前面说的checkpoint也是有LSN号记录的,LSN号串联起一个事务开始到恢复的过程。