MySQL系列(7)--InnoDB体系结构

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/duanxiaobin2010/article/details/80683727

InnoDB大的架构图如下:
这里写图片描述
1、最上层部分是提供给MySQL server及InnoDB NOSQL的接口
2、server端与存储通过不同的存储引擎接口连接起来,公共接口定义在handler API中
3、下几层是InnoDB的逻辑层,包括表,锁,事物,索引,文件系统管理等
4、在下层就是物理层,逻辑层和物理层之间通过一些事物做过度,比如缓存
5、再往下就是操作系统的IO层,包括REDO日志IO,数据页面IO

InnoDB启动过程
由函数innobase_start_or_create_for_mysql实现,
启动的主要步骤包括:

1. 初始化innodb的参数
2. 初始化系统结构,主要结构:srv_sys_t
3. 加载或者创建文件
  如果是第一次启动,Innodb会创建系统表空间和log file
  如果是重启,Innodb会加载文件
4. 恢复
      如果系统非正常关闭,则进入恢复过程
 5. 创建相关后台线程

  
InnoDB关系过程
innobase_shutdown_for_mysql:

1、刷新buffer pool,并写入最新的lsn到表空间的header。
2、关闭所有的后台线程,如master线程,purge线程。
3、关闭一些子模块,如IO,文件系统
4、释放所有的内存结构和空间。

猜你喜欢

转载自blog.csdn.net/duanxiaobin2010/article/details/80683727