Ven*_*nts 22 mysql drop-database
我已经创建了一些非常大的数据库,并且已经删除了一些.我注意到我的磁盘空间没有像我预期的那样恢复.例如,我添加的最后一个数据库实际上耗尽了我所有的可用空间并中止了,所以我删除了该模式.在此之前,我有12.4 GB免费,现在我只有7.52 GB免费.
这里发生了什么?我如何获得~5 GB的回报?
Chr*_*gan 22
来自http://dev.mysql.com/doc/refman/5.1/en/innodb-data-log-reconfiguration.html:
目前,您无法从表空间中删除数据文件.要减小表空间的大小,请使用以下过程:
使用mysqldump转储所有InnoDB表.
停止服务器.
删除所有现有的表空间文件,包括ibdata和ib_log文件.如果要保留信息的备份副本,请在删除MySQL安装中的文件之前将所有ib*文件复制到另一个位置.
删除InnoDB表的任何.frm文件.
配置新的表空间.
重启服务器.
导入转储文件.
Innodb在数据文件本身内创建一个文件系统("表空间").它在删除数据时从不"缩小"数据文件,因为文件中数据的重组可能成本很高(不能保证删除的数据最后,甚至是连续的).通过如上所述重新创建数据库,它使文件尽可能大到所有数据,但不大.