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 命令创建任何需要的目录