InnoDB采用将存储的数据按表空间进行存放的设计。在默认配置下会有一个初始化大小为10MB,名为ibdata1的文件。该文件就是默认的表空间文件(共享表空间),可以通过参数innodb_data_file_path设置。如
[mysqld] innodb_data_file_path = /db/ibdata1:2000M;/dr2/db/ibdata2:2000M:autoextend这里将/db/ibdata1和/dr2/db/ibdata2两个文件组成表空间。大小为2000,可以自动增长(autoextend)。
设置innodb_data_file_path参数后,所有基于InnoDB存储引擎的表的数据都会记录到该共享表空间中。若设置参数innodb_file_per_table,则用户可以将每个基于InnoDB存储引擎的表产生一个独立表空间。独立表空间的命名规则为:表名.idb。
需要注意:独立的表空间文件仅存储该表的数据,索引和插入缓冲BITMAP等信息,其余信息还是存放在默认表空间中。
重做日志文件在默认情况下,在InnoDB存储引擎的数据目录下会有两个名为ib_logfile0和ib_logfile1的文件。每个InnoDB存储引擎至少有1个重做日志文件组,每个文件组下至少有2个重做日志文件。
影响重做日志文件的属性:
innodb_log_file_size:指定每个重做日志文件的大小。在InnoDB 1.2.x版本之前不得大于等于4GB,在InnoDB 1.2.x之后扩大为512GB。
innodb_log_files_in_group:指定了日志文件组中重做日志文件的数量,默认为2。
innodb_mirrored_log_groups:指定了日志镜像文件组的数量,默认为1,表示只有一个文件组,没有镜像。
innodb_log_group_home_dir:指定了日志文件所在路径,默认为./,表示在MySQL数据库的数据目录下。