膨胀的innodb数据文件(ibdata1)以及如何回收空间?

Jan*_*nak 2 mysql innodb

我的表中有大约12GB的数据,而我的数据文件ibdata1的大小约为12GB.然后我运行以下命令

alter table `rails_production`.`pictures` change `data` `image_file_data` mediumblob NULL
Run Code Online (Sandbox Code Playgroud)

当它正在制作表的临时副本时,我收到以下错误

ERROR 1114 (HY000): The table '#sql-7fe4_12c9' is full
Run Code Online (Sandbox Code Playgroud)

我认为这意味着没有足够的空间来制作表的临时副本.但现在数据文件是17GB!如何回收数据文件中的空间?

有没有办法检查17GB的使用量是多少?

dav*_*vek 5

遗憾的是,如果您不使用,则无法从innodb数据库中回收空间 innodb_file_per_table在配置中,:

MySQL InnoDB在从表中删除数据行后没有释放磁盘空间