首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql:如何释放空间(innodb)

mysql:如何释放空间(innodb)
EN

Stack Overflow用户
提问于 2009-05-27 08:45:26
回答 2查看 10.8K关注 0票数 8

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

/var/lib/mysql,有一些名为ib_logfile0ib_logfile1ibdata1的“大”文件,其中最后一个文件非常大。我假定这些文件实际上是原始DB。

我怎么知道我能不能删除它们。或者一个更好的问题是如何删除数据库,以便重新获得磁盘空间。

澄清

我想删除完整的数据库并释放磁盘空间。我不想做任何恢复。

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-05-27 09:01:07

不幸的是,一旦分配了空间,就无法缩小这些文件。然而,当添加新数据时,MySQL将重用空间,但文件不会缩小。

若要缩小大小,需要转储数据库,然后再还原它们。

您还可以执行以下操作:

在配置文件中设置innodb_file_per_table,这将为每个表创建一个单独的文件。这将允许您在删除数据库后删除这些文件,还允许您在缩小特定表中的数据时使用优化表命令重新构建ibd文件。

票数 9
EN

Stack Overflow用户

发布于 2009-05-27 08:51:22

一种解决方案是转储,然后恢复。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/914658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档