mysql:如何释放空间(innodb)

Lui*_*ixv 5 mysql

我有一个配置了innoDB存储引擎的mysql数据库.我删除了数据库(drop database <dbname>)但是没有释放磁盘空间.

/var/lib/mysql那里有一些叫"大"的文件ib_logfile0,ib_logfile1ibdata1最后一个文件真的很大.我认为这些文件实际上是原始数据库.

我怎么知道我是否可以删除它们.或者更好的问题是如何删除数据库以便回收磁盘空间.

澄清
我想删除整个数据库并释放磁盘空间.我不想执行任何恢复.

提前致谢.

And*_*ler 8

遗憾的是,一旦分配了空间,就无法收缩这些文件.但是,当添加新数据时,MySQL将重新使用该空间,但该文件不会缩小.

要缩小大小,您需要转储数据库,然后再次还原它们.

您还可以执行以下操作:

在配置文件中设置innodb_file_per_table,这将为每个表创建一个单独的文件.这将允许您在删除数据库后删除这些文件,并允许您在收缩特定表中的数据时使用OPTIMIZE TABLE命令重建ibd文件.