关于innodb_data_file_path设置

启动Mysql时报错,无法正常启动,通过日志发有数据文件大小错误,日志如下截图:

[ERROR] InnoDB: auto-extending data file /usr/local/mysql/data/ibdata1 is of a different size 768 pages (rounded down to MB) than specified in the .cnf file: initial 65536 pages, max 0 (relevant if non-zero) pages!

2018-05-25 14:27:04 6002 [ERROR] InnoDB: Could not open or create the system tablespace. If you tried to add new data files to the system tablespace, and it failed here, you should now edit innodb_data_file_path in my.cnf back to what it was, and remove the new ibdata files InnoDB created in this failed attempt. InnoDB only wrote those files full of zeros, but did not yet use them in any way. But be careful: do not remove old data files which contain your precious data!

说明: 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%';

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

| Variable_name         | Value                  |

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

| innodb_data_file_path | ibdata1:12M:autoextend |

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

自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文件进行数据库初始化的时候,会发现初始化失败,报错如下:

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 =

参考资料:https://blog.csdn.net/shaochenshuo/article/details/50973068

mysql innodb_data_file_path_关于innodb_data_file_path设置相关推荐

  1. mysql innodb_data_file_path_MySQL修改innodb_data_file_path参数的一些注意事项

    前言 innodb_data_file_path用来指定innodb tablespace文件,如果我们不在My.cnf文件中指定innodb_data_home_dir和innodb_data_fi ...

  2. linux mysql设置数据库utf_Linux系统下MySQL数据库服务器字符集设置

    Linux认证考试:Linux系统下的MySQL数据库服务器字符集设置 启动MySQL后,以root登录mysql isher@isher-ubuntu:~$ mysql -u root >sh ...

  3. MySQL远程表访问设置

    MySQL远程表访问设置 本博文转载自          http://blog.itpub.net/9406448/viewspace-223946 ---- 官网上的信息 使用MySQL FEDE ...

  4. MYSQL 5.6安装设置中英文翻译

    网络翻译措辞可能会有不当,欢迎指出. NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PR ...

  5. mysql设置参数不生效_关于mysql的wait_timeout参数 设置不生效的问题【转】

    关于wait_timeout 有一次去online set wait_timeout 的时候发现改了不生效,如下: mysql> show variables like 'wait_timeou ...

  6. mysql的collation区分大小写设置

    mysql的collation区分大小写设置 mysql数据库在做查询时候,有时候是英文字母大小写敏感的,有时候又不是的,主要是由于mysql的字符校验规则的设置.通常默认是不支持的大小写字母敏感的, ...

  7. MYSQL和ORACLE时区设置比较

    MYSQL: 注意时区会影响TIMESTAMP的取值,默认为系统时区为TIME_ZONE=SYSTEM, 动态可以修改 set global  time_zone = '+8:00'; 然后 my.c ...

  8. MySQL数据库端字符集设置

    最近,在项目组使用的mysql数据库中,插入数据出现乱码,关于这个问题做了下总结,我们从最基本的地方说起,到错误产生的深层次原因和解决办法. 基本概念 • 字符(Character)是指人类语言中最小 ...

  9. 账户系统db服务器为创建快照,Mysql 服务器同步(replication)设置.docx

    Mysql 服务器同步(replication)设置 Mysql 服务器同步(replication)设置MySQL支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服 ...

最新文章

  1. libcurl 编程进度条和range请求源码示例
  2. 测试某个端口是否开放的方法
  3. C#SetWindowPos窗口置顶
  4. java命令依赖第三方jar原理_java命令执行带jar包依赖的文件执行不了
  5. 推荐一位零基础学 NLP 的大佬,内含成长历程
  6. CodeBlocks 导航栏/输出栏/菜单栏消失
  7. vue base64图片不显示_技巧 | word中插入的图片显示不完整怎么办?
  8. Python 语法糖
  9. 2021年五月下旬推荐文章(2)
  10. angular2.0中为什么初始化的时候就把全部路由下的模板文件加载出来的原因。
  11. python中文视频教程-中谷python中文视频教程(全38集)
  12. python打开360浏览器_Selenium安装与360浏览器使用
  13. CSS4.2.3 参考手册.CHM
  14. 【桃园恋歌】mmd镜头+动作打包下载.zip
  15. LaTeX Studio下载安装
  16. 清子指弹FC吉他五重奏nes《最终幻想1 》地图音乐步行 (FC游戏音乐)
  17. 学习Java第一天笔记
  18. 推荐一款笔记软件 Notion
  19. NUAA 南航操作系统实验 代码部分
  20. java基础复习——day18(Stream流 ; 反射)

热门文章

  1. 利用ZYNQ SOC快速打开算法验证通路(5)——system generator算法IP导入IP integrator
  2. 2017年9月11日 梁勇 java教材 编程练习题 第二章 2.15 键盘 读取两个点的坐标值(小数),控制台输出两点间距离。...
  3. vue从创建到完整的饿了么(5)v-for,v-bind与计算属性
  4. CHUCK手把手带你搞定OPENSTACK
  5. Centos下MySQL安装与配置
  6. [原]VS2012编译GLEW 1.11
  7. 创建UITextField对象
  8. 007-迅雷定时重启AutoHotkey脚本-20190411
  9. 配置springmvc在其他类中(spring容器外)获取注入bean
  10. js:appendChild、insertBefore和insertAfter