MySQL 引擎特性 InnoDB 文件系统之文件物理结构(13)

第二个改变是为Redo log引入了版本信息(WL#8845),存储在ib_logfile的头部,从文件头开始,描述如下

MacrobytesDesc
LOG_HEADER_FORMAT   4   当前值为1(LOG_HEADER_FORMAT_CURRENT),在老版本中这里的值总是为0  
LOG_HEADER_PAD1   4   新版本未使用  
LOG_HEADER_START_LSN   8   当前iblogfile的开始LSN  
LOG_HEADER_CREATOR   32   记录版本信息,和MySQL版本相关,例如在5.7.11中,这里存储的是”MySQL 5.7.11”(LOG_HEADER_CREATOR_CURRENT)  

每次切换到下一个iblogfile时,都会更新该文件头信息(log_group_file_header_flush)

新的版本支持兼容老版本(recv_find_max_checkpoint_0),但升级到新版本后,就无法在异常状态下in-place降级到旧版本了(除非做一次clean的shutdown,并清理掉iblogfile)。

具体实现参阅该commit

MySQL InnoDB表--BTree基本数据结构

在MySQL的InnoDB存储引擎中count(*)函数的优化

MySQL InnoDB存储引擎锁机制实验

InnoDB存储引擎的启动、关闭与恢复

MySQL InnoDB独立表空间的配置

MySQL Server 层和 InnoDB 引擎层 体系结构图

InnoDB 死锁案例解析

MySQL Innodb独立表空间的配置

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/92d804ea01a22ee9e899ff74b884f3f1.html