System Tablespace 数据文件配置; mysql> show variables like '%innodb_data_file_path%'; +-----------------------+------------------------+ | Variable_name | Value | +-----------------------+------------------------+ | innodb_data_file_path | ibdata1:12M:autoextend | +-----------------------+------------------------+ 1 row in set (0.00 sec) mysql> show variables like '%innodb_data_home_dir%'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | innodb_data_home_dir | | +----------------------+-------+ 1 row in set (0.00 sec) 系统表空间数据我恩建是使用 innodb_data_file_path and innodb_data_home_dir configuration options. 配置 innodb_data_file_path 配置选项是用于配置InnoDB 系统表空间数据文件。 innodb_data_file_path 的值是 一个或者多个数据文件的列表,如果你的名字多余一个数据文件,通过;隔开 innodb_data_file_path=datafile_spec1[;datafile_spec2]... 例如, 下面的设置显示的创建了一耳光最小的系统表空间 [mysqld] innodb_data_file_path=ibdata1:12M:autoextend 这个设置是单个12MB文件命名为ibdata1 是自动增长的, 没有给定文件的路径,因此默认, InnoDB 创建文件在MySQL 数据目录 大小是使用K,M或者G 指定 表明KB,MB或者GB 一个表空间包含一个固定的50MB数据文件命名为ibdata1 和一个50MB 自动增长的文件命名为ibdata2 在数据目录可以配置为: [mysqld] innodb_data_file_path=ibdata1:50M;ibdata2:50M:autoextend 数据文件完整的语法包含文件名,它的大小和几个可选的属性 file_name:file_size[:autoextend[:max:max_file_size]] autoextend 和最大值属性只可以用于最后的数据文件在innodb_data_file_path 如果你指定了自动增长属性对于最后一个数据文件,InnoDB 扩展数据文件 如果他运行超出了空闲的空间。 默认增长一次是64MB,修改这个增长,改变 innodb_autoextend_increment 如果磁盘已满,你需要增加其他的数据文件到另外的磁盘 InnoDB 不知道系统最大文件大小,因此小心遭文件系统 最大文件大小是一个小的值 比如2GB 指定一个最大对于一个自动增长的文件,使用max属性跟着自动增长属性 使用max属性只有在小心约束磁盘使用, 因为超过最大值会导致致命错误,可能会导致crash 下面的配置允许ibdata1 增长到最大500MB [mysqld] innodb_data_file_path=ibdata1:12M:autoextend:max:500M InnoDB 创建表空间文件在MySQL 数据目录默认情况下,显示的指定一个文件 使用 innodb_data_home_dir option. 比如,创建2个文件叫 ibdata1 and ibdata2 在一个目录叫/myibdata 配置InnoDB 如下; [mysqld] innodb_data_home_dir = /myibdata innodb_data_file_path=ibdata1:50M;ibdata2:50M:autoextend 注意: InnoDB 不创建目录, 确保/myibdata 目录存在在你启动mysql前,使用Unix或者DOS mkdir 命令创建任何需要的目录