mysql原理~LSN那点事情

Posted danhuangpai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql原理~LSN那点事情相关的知识,希望对你有一定的参考价值。

一  简介:今天咱们来聊聊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.
三 内容

     每个数据页有LSN,重做日志有LSN,checkpoint有LSN。

四 定义说明
    1 LSN(log sequence number)日志序列号,5.6.3之后占用8字节,LSN主要用于发生crash时对数据进行recovery,LSN是一个一直递增的整型数字,表示事务写入到日志的字节总量。
     LSN不仅只存在于重做日志中,在每个数据页头部也会有对应的LSN号,该LSN记录当前页最后一次修改的LSN号,用于在recovery时对比重做日志LSN号决定是否对该页进行恢复数据。前面说的checkpoint也是有LSN号记录的,LSN号串联起一个事务开始到恢复的过程。

 

    













以上是关于mysql原理~LSN那点事情的主要内容,如果未能解决你的问题,请参考以下文章

mysql 原理 ~ checkpoint

Mysql原理篇之redo日志--下--10

MySQL,在线热备的内核原理!

mysql 之 checkpoint和LSN详解

Innobackupex(全备+增量)备份恢复

centos mysql 实战 第十三节课