我的表中有大约12GB的数据,而我的数据文件ibdata1的大小约为12GB。然后我运行了以下命令
alter table `rails_production`.`pictures` change `data` `image_file_data` mediumblob NULL
在制作表格的临时副本时,我收到以下错误
ERROR 1114 (HY000): The table '#sql-7fe4_12c9' is full
我认为这意味着没有足够的空间来制作表的临时副本。但现在数据文件是17GB!如何回收数据文件中的空间?
有没有办法检查17GB的使用量是多少?
答案 0 :(得分:5)
如果您未在配置中使用innodb_file_per_table
,则无法从innodb数据库中回收空间:
MySQL InnoDB not releasing disk space after deleting data rows from table
答案 1 :(得分:0)
即使不使用innodb_file_per_table
,您也可以通过转储数据库并重新加载来重新声明空间。
但这可能会导致一些停机时间。