mysql innodb_data_file_path_关于innodb_data_file_path设置

news/2024/7/7 18:27:44

关于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


http://lihuaxi.xjx100.cn/news/242667.html

相关文章

学习UI设计需要用到哪些工具

UI设计在近几年受到了很多人的关注,越来越多的人都想要进入到UI设计这个行业,学习UI设计的人越来越多,小编下面就为大家详细的介绍一下学习UI设计需要用到哪些工具?希望能帮助到正在学习UI设计的同学们。 学习UI设计需要用到哪些工具? 一、…

mysql切换系统盘命令_mysql常用命令

一、连接MySQL格式: mysql -h主机地址 -u用户名 -p用户密码1、例1:连接到本机上的MYSQL。首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好…

泛前端知识图谱(Web/iOS/Android/RN)

泛前端知识图谱(Web/iOS/Android/RN) 从属于笔者的程序员成长道路上的阅读学习资料工具集锦系列,主要是对于笔者这几年在前端开发中总结出来的知识点的归集与整理,也是笔者的笔记排布目录结构,更多编程语言、服务端开发…

扩展欧几里德

对于不完全为0的非负整数a, b. gcd(a, b)表示a, b 的最大公约数。那么存在整数x&#xff0c; y使得 gcd(a, b) a * x b * y; 不妨设a > b ① &#xff0c;当b 0 时&#xff0c;gcd(a, b) a , 此时 x 1, y 0; ② &#xff0c;当 a * b <> 0 时&#xff0c; 设 a…

CSS浮动元素特点有什么

什么是浮动? 元素的浮动是指设置了浮动属性(flot)的元素。 CSS浮动有什么作用? 1.让多个盒子水平排列成一行&#xff0c;浮动成为布局的重要手段; 2.可以实现盒子的左右对齐等等; 3.浮动最早是用来控制图片&#xff0c;实现文字环绕图片的效果。 CSS浮动的语法&#xff1a; 选…

oracle mysql事物隔离级别_Oracle数据库事物隔离级别

事务隔离级别&#xff1a;一个事务对数据库的修改与并行的另一个事务的隔离程度。两个并发事务同时访问数据库表相同的行时&#xff0c;可能存在以下三个问题&#xff1a;1、幻想读&#xff1a;事务T1读取一条指定where条件的语句&#xff0c;返回结果集。此时事务T2插入一行新…

[NOI2010]能量采集

469. [NOI2010]能量采集 ★★☆ 输入文件&#xff1a;energy2010.in 输出文件&#xff1a;energy2010.out 简单对比时间限制&#xff1a;1 s 内存限制&#xff1a;512 MB【问题描述】 栋栋有一块长方形的地&#xff0c;他在地上种了一种能量植物&#xff0c;这种植物可…

HTMLDOM中三种元素节点、属性节点、文本节点的测试案例

HTML dom中常用的三种节点分别是元素节点、属性节点、文本节点。 具体指的内容可参考下图&#xff1a; 以下为测试用例: <!DOCTYPE html> <html><head><title>元素节点、属性节点、文本节点的测试</title><meta name"Author" conte…