我有一个使用InnoDB存储引擎的MySQL表;它包含大约200万个数据行.当我从表中删除数据行时,它没有释放分配的磁盘空间.运行optimize table
命令后,ibdata1文件的大小也没有减小.
有没有办法从MySQL中回收磁盘空间?
我的处境很糟糕;该应用程序在大约50个不同的位置运行,现在几乎所有位置都出现了磁盘空间不足的问题.
我有一个使用InnoDB存储引擎的MySQL表;它包含大约200万个数据行.当我从表中删除数据行时,它没有释放分配的磁盘空间.运行optimize table
命令后,ibdata1文件的大小也没有减小.
有没有办法从MySQL中回收磁盘空间?
我的处境很糟糕;该应用程序在大约50个不同的位置运行,现在几乎所有位置都出现了磁盘空间不足的问题.
MySQL不会减少IBMData1的大小.曾经即使使用optimize table
从已删除的记录中释放空间,它也会在以后重新使用.
另一种方法是将服务器配置为使用innodb_file_per_table
,但这将需要备份、删除数据库和恢复.积极的一面是.表的ibd文件在optimize table
之后减少.