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号串联起一个事务开始到恢复的过程。

posted @ 2018-09-27 15:33  裸奔的小鸵鸟  阅读(7243)  评论(0编辑  收藏  举报