mysql 5.7 开启innodb_MySQL从5.5升级到5.7后innodb_file_per_table默认开启问题

最近将数据库从库从5.5升级到5.7,发现储存MySQL磁盘空间一下子占用变大了很多,排查了一下发现是升级后MySQL的系统表空间(ibdata1)很大[原本就很大],单个innodb表的表空间也变得很大[升级后变大],正常情况下应该只有一方会很大(系统的MyISAM表不多)

具体情况如下:

升级前,mysql数据库5.5,innodb_file_per_table使用默认配置,即是关闭的,innodb的表和索引都存储在一起(ibdata1文件很大);

升级到5.7时,innodb_file_per_table仍使用默认配置,但是默认是开启的,升级时使用mysql_upgrade后,每个表使用了独立的表空间,即每个数据库文件夹下的表空间文件很大,但是原本的系统表空间ibdata1并没有对应的变小。

查询手册发现:

在mysql5.5的时候innodb_file_per_table配置是默认关闭的,

但是数据库升级到5.7的时候,innodb_file_per_table配置默认开启了(其实在mysql5.6.6的时候就默认开启了),

官网说明:http://dev.mysql.com/doc/refm...

请问有没有方法在不重新导入数据的情况下(重新导入耗时太长),使原本的系统表空间ibdata1文件变小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值