InnoDB redo log格式-物理log

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了InnoDB redo log格式-物理log相关的知识,希望对你有一定的参考价值。

在页面上修改N个字节,可以看做物理log。包括以下几种类型:MLOG_WRITE_STRING、MLOG_8BYTES、MLOG_2BYTES、MLOG_1BYTES、MLOG_4BYTES。各种页链表指针修改以及文件头、段页内容的修改都是以这几种方式记录日志。具体格式如下:

1、MLOG_2BYTES、MLOG_1BYTES、MLOG_4BYTES:
技术分享图片
2、MLOG_8BYTES
技术分享图片
3、MLOG_WRITE_STRING
技术分享图片
4、变长字节算法mach_write_compressed:

if (n < 0x80UL) {  
    mach_write_to_1(b, n);  
    return(1);  
} else if (n < 0x4000UL) {  
    mach_write_to_2(b, n | 0x8000UL);  
    return(2);  
} else if (n < 0x200000UL) {  
    mach_write_to_3(b, n | 0xC00000UL);  
    return(3);  
} else if (n < 0x10000000UL) {  
    mach_write_to_4(b, n | 0xE0000000UL);  
    return(4);  
} else {  
    mach_write_to_1(b, 0xF0UL);  
    mach_write_to_4(b + 1, n);  
    return(5);  
}  

5、mlog_write_ulint、mlog_write_ull、mlog_log_string分别是写入1、2、4;8字节;字符串的日志写入函数。

以上是关于InnoDB redo log格式-物理log的主要内容,如果未能解决你的问题,请参考以下文章

MySQL InnoDB redo Log 浅析

mysql物理日志redo log和逻辑日志 binlog

mysql中redo log记录方式

mysql中redo log记录方式

mysql的innodb引擎下的undo log中包括“写redo log”这件事?

MySQL中bin-log与redo-log的区别