• ADADADADAD

    innodb_data_file_path设置[ mysql数据库 ]

    mysql数据库 时间:2024-12-25 09:55:18

    作者:文/会员上传

    简介:

    innodb_data_file_path用来指定innodb tablespace文件,如果我们不在My.cnf文件中指定innodb_data_home_dir和innodb_data_file_path那么默认会在datadir目录下创建ibdata1

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    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] view plain copy

      +-----------------------+------------------------+

      |Variable_name|Value|

      +-----------------------+------------------------+

      |innodb_data_file_path|ibdata1:12M:autoextend|

      |innodb_data_home_dir||>>note:虽然不指定innodb_data_home_dir和指定它为空显示是一样的,但是作用确不一样,如果不指定那么所有的innodbtablespace文件只能存放在datadir目录下。如果显示指定为空,则可以为innodbtablespace文件指定不同的路径


    自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

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

    如果我不指定innodb_data_home_dir =,只在my.cnf文件中做如下指定:

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

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

    [html] view plain copy

      2016-03-2416:58:3429559[ERROR]InnoDB:File.//data/mysql/mysql3306/data1/ibdata2:'create'returnedOSerror71.Cannotcontinueoperation

    ##所以如果想为innodb tablespace文件指定不同路径,那么必须在my.cnf文件中指定innodb_data_home_dir =


    innodb_data_file_path设置.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: datafileinnodb