Tag Archives

One Article

原创

MySQL数据库表空间高水位回收,并切换至独立表空间流程

Posted on

MySQL在5.5版本后引入了更高级的InnoDB表处理引擎,其支持以表为单位创建独立的表空间文件。但是在5.5版本中,该特性默认为未启用;或者低版本升级上来的数据库,表引擎从MyISAM转换为了InnoDB,其表空间依旧为共享类型。

随着表数据量的不断增长,这张共享的表空间大小也会随之变大。有别于独立表空间文件,共享表空间文件并不能通过OPTIMIZE TABLE方式进行释放,所以当物理空间不足时,需要通过一次完整的导出导入操作来降低高水位,释放物理空间。同时,建议一并进行表空间类型切换,方便后续维护管理。

问题描述

MySQL表空间文件(一般为ibdata1)占用过多的物理空间,但实际表的数据大小已经小于表空间所分配的大小,表空间占用无法得到释放。且经查,数据库的表空间使用类型为“共享”。 阅读全文