版权声明:本文为博主原创文章,遵循
CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:
https://blog.csdn.net/szx9231/article/details/52159352
ibdata1是一个用来构建innodb系统表空间的文件,这个文件包含了innodb表的元数据、撤销记录、修改buffer和双写buffer。如果file-per-table选项打开的话,该文件则不一定包含所有表的数据。当innodb_file_per_table选项打开的话,新创建表的数据和索引则不会存在系统表空间中,而是存放在各自表的.ibd文件中。
显然这个文件会越来越大,innodb_autoextend_increment选项则指定了该文件每次自动增长的步进,默认是8M。
显然ibdata文件存的是数据库的表数据,如缓存,索引等。所以随着数据库越来越大,表也会越大,这个无法避免的。那么服务器硬盘空间不够了怎么办?我们只能把ibdata中的一些log文件都清掉。
怎么解决问题?
ibdata文件中包含的数据并不是我们都需要的,比如撤销日志,这些日志是可以定期删除的。但是之前是放在一个文件中,所以不好删除。因此最好的办法是把ibdata中需要存放的内容进行分开存放,除了
数据文件可以保存,其他不是非必要文件都单独存放并且定时清理。这样可以缓解数据库服务器磁盘的压力。
处理
MySQL
的
ibdata
1
文件过大
问题
本人遇到一次在安装zabbix监控的时候,yum安装的
MySQL
数据库,后面用了一段时间发现data目录下的
ibdata
1
的空间特别大,反而我的zabbix数据库的空间很小,这样的情况在后面备份zabbix数据库的时候会很不方便,所以想着要怎么解决下。
ibdata
1
文件是什么?
ibdata
1
是一个用来构建innodb系统表空间的文件,这个文...
ibdata
1
是一个用来构建innodb系统表空间的文件,关于系统表空间详细介绍参考
MySQL
官网文档
上面是一个数据库的
ibdata
1
文件,达到了780多G,而且还在不断增长。
这个文件包含了innodb数据字典、修改buffer和双写buffer、撤销日志,还包含在用户在系统表空间创建的表信息和索引数据。
显然,由于所有表的数据索引和缓存都存在这个文件
中
,随...
一、innodb系统表空间的简介:
innodb 系统表空间是由若干个文件组成的,表空间的大小就是对应文件的大小,表空间文件是由innodb_data_file_path
这人参数来定义的。下面我们来感受一下innodb_data_file_path的写法
1
、表空间由一个
1
2M的
ibdata
1
的文件组成
[
mysql
d]
innodb_data_file_path =
ibdata
1
...
在
MySQL
数据库
中
,如果不指定innodb_file_per_table=
1
参数单独保存每个表的数据,
MySQL
的数据都会存放在
ibdata
1
文件里,时间久了这个文件就会变的非常大。
下面是参考网上的一些资料,把数据分别保存在各数据库子目录里的方法,这样新产生的
ibdata
1
文件就不会太大了。下面是在Ubuntu
1
4.04.
1
2 x64,
MySQL
5.5上对
ibdata
1
进行瘦身,操作过程的整...
今天
启动
mysql
报错:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytesInnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
上网说logfile0删掉就可以了
这个文件超级大, 查了...
在
MySQL
5.6.6版本以前,
MySQL
默认会把所有的innodb的表都放在同一个文件
中
(
ibdata
1
),当该文件过大的时候,
MySQL
容易出错,维护性能差。
但那些在修改之前已经创建了innodb的表怎么办?
一种办法是用
mysql
dump备份所有数据库后重建所有数据库,步骤如下
mysql
dump -u <user> -p <password> --all...