MySQL InnoDB 从表中删除数据行后不释放磁盘空间
P粉148434742
P粉148434742 2023-10-15 00:02:19
0
2
684

我有一个使用InnoDB存储引擎的MySQL表;它包含大约2M数据行。当我从表中删除数据行时,它没有释放分配的磁盘空间。运行optimize table命令后,ibdata1文件的大小也没有减少。

有什么办法可以从 MySQL 回收磁盘空间吗?

我的处境很糟糕;该应用程序在大约 50 个不同的位置运行,现在几乎所有位置都出现磁盘空间不足的问题。

P粉148434742
P粉148434742

全部回复(2)
P粉183077097

我自己也遇到了同样的问题。

发生的情况是,即使删除数据库,innodb 仍然不会释放磁盘空间。我必须导出,停止mysql,手动删除文件,启动mysql,创建数据库和用户,然后导入。感谢上帝,我只有 200MB 的行,但它节省了 250GB 的 innodb 文件。

设计失败。

P粉340980243

MySQL 不会减小 ibdata1 的大小。曾经。即使您使用优化表来释放已删除记录所使用的空间,它稍后也会重用它。

另一种方法是将服务器配置为使用 innodb_file_per_table,但这需要备份、删除数据库和恢复。积极的一面是,在 优化表格

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板