我有一个mysql,配置了innoDB存储引擎。我放弃了数据库(drop database <dbname>),但是磁盘空间没有被释放。
在/var/lib/mysql,有一些名为ib_logfile0、ib_logfile1和ibdata1的“大”文件,其中最后一个文件非常大。我假定这些文件实际上是原始DB。
我怎么知道我能不能删除它们。或者一个更好的问题是如何删除数据库,以便重新获得磁盘空间。
澄清
我想删除完整的数据库并释放磁盘空间。我不想做任何恢复。
提前谢谢。
发布于 2009-05-27 09:01:07
不幸的是,一旦分配了空间,就无法缩小这些文件。然而,当添加新数据时,MySQL将重用空间,但文件不会缩小。
若要缩小大小,需要转储数据库,然后再还原它们。
您还可以执行以下操作:
在配置文件中设置innodb_file_per_table,这将为每个表创建一个单独的文件。这将允许您在删除数据库后删除这些文件,还允许您在缩小特定表中的数据时使用优化表命令重新构建ibd文件。
发布于 2009-05-27 08:51:22
一种解决方案是转储,然后恢复。
https://stackoverflow.com/questions/914658
复制相似问题