本页讨论:
  • 系统表空间介绍
  • 独享和共享两种模式
  • 相关配置

系统表空间介绍

InnoDB系统表空间包含InnoDB数据字典(InnoDB相关对象的元数据),是doublewrite缓冲区change buffer更改缓冲区undo logs回滚日志的存储区域。

系统表空间还包含任何用户在系统表空间中创建的表和索引数据
系统表空间被视为共享表空间,因为它被多个表共享。

独享和共享两种模式


通过独享表空间形式:

通过innodb_file_per_table=ON 来开启
使用ibd文件来存放数据,且每个表一个ibd文件。


从InnoDB的整体架构图的右边可以看到:ibdata文件可以被视为系统表空间

在独享表空间模式下,表数据page就不属于系统表空间了。

共享形式:

默认情况下是共享模式。使用ibdata文件,所有表共同使用一个(或者多个、自行配置)ibdata文件。
在共享模式下,表的数据page也是属于系统表空间的。



相关配置

系统表空间由一个或多个数据文件表示。默认情况下,在MySQL数据目录中创建一个名为ibdata1的系统数据文件。系统数据文件的大小和数量由innodb_data_file_path项控制。

innodb_data_home_dir ibdata
文件目录
innodb_data_file_path
每一个ibdata文件的名称,可以配置多个。目录为空的话,file_path就需要填写绝对路径了。
可以指定ibdata文件的大小,只有最后一个ibdata文件可以配置成自动扩展类型。

配置示例:
innodb_data_home_dir =
innodb_data_file_path = /ibdata/ibdata1:10M:autoextend

innodb_data_home_dir =
innodb_data_file_path = /ibdata/ibdata1:988M;/disk2/ibdata2:50M:autoextend




上一篇:redo log缓冲区
下一篇:InnoDb数据字典

成为你想看到的世界变革力量

创建者:万乐荣
最后更新时间 : 2018年9月8日 14:18

评论