innodb_data_file_path设置

        innodb_data_file_path用来指定innodb tablespace文件,若是咱们不在My.cnf文件中指定innodb_data_home_dir和innodb_data_file_path那么默认会在datadir目录下建立ibdata1 做为innodb tablespace。5.6.6以后 两个参数的默认值以下:
show variables like 'innodb_data%';html

[html] view plain copy mysql

  1. +-----------------------+------------------------+  sql

  2. | Variable_name         | Value                  |  数据库

  3. +-----------------------+------------------------+  ide

  4. | innodb_data_file_path | ibdata1:12M:autoextend |  spa

  5. | innodb_data_home_dir  |                        | >>note:虽然不指定innodb_data_home_dir和指定它为空显示是同样的,可是做用确不同,若是不指定那么全部的innodb tablespace 文件只能存放在datadir目录下。若是显示指定为空,则能够为innodb tablespace 文件指定不一样的路径  .net


自mysql 5.6.6开始咱们能够指定多个innodb tablespace 文件(这些文件能够在相同的路径下,也能够在不一样的路径下)。可是在为innodb_data_file_path 指定多个文件时仍是有许多注意事项的,下面我来看一下
1. 在同一个路径下指定多个innodb tablespace 文件
1)
在my.cnf文件指定以下
[mysqld]
innodb_data_file_path = ibdata1:1G;ibdata2:12M:autoextend:max:500M
note:The autoextend and max attributes can be used only for the last data file in the innodb_data_file_path line. 
note:由于没有指定innodb_data_home_dir,因此ibdata1和ibdata2都在datadir(innodb_data_home_dir默认值为datadir)目录下建立


2)
在my.cnf文件指定以下
[mysqld]
innodb_data_home_dir = /data/mysql/mysql3306/data
innodb_data_file_path = ibdata1:1G;ibdata2:12M:autoextend:max:500M
note:能够显示的指定innodb tablespace文件的路径,若是指定innodb_data_home_dir,那么就不能为innodb tablespace不一样文件指定不一样路径


2. 在不一样路径下指定innodb tablespace
在my.cnf文件下指定
[mysqld]
innodb_data_home_dir =
innodb_data_file_path = ibdata1:12M;/data/mysql/mysql3306/data1/ibdata2:12M:autoextend
xml

note:若是想为innodb tablespace指定不一样目录下的文件,必须指定innodb_data_home_dir =。这个例子中会在datadir下创建ibdata1,在/data/mysql/mysql3306/data1/目录下建立ibdata2htm

  若是我不指定innodb_data_home_dir =,只在my.cnf文件中作以下指定:blog

innodb_data_file_path = ibdata1:12M;/data/mysql/mysql3306/data1/ibdata2:12M:autoextend

而后使用该my.cnf文件进行数据库初始化的时候,会发现初始化失败,报错以下:

[html] view plain copy

  1. 2016-03-24 16:58:34 29559 [ERROR] InnoDB: File .//data/mysql/mysql3306/data1/ibdata2: 'create' returned OS error 71. Cannot continue operation  

##因此若是想为innodb tablespace文件指定不一样路径,那么必须在my.cnf文件中指定innodb_data_home_dir =

相关文章
相关标签/搜索