Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql中删除数据库后回收磁盘空间_Mysql_Drop Database - Fatal编程技术网

mysql中删除数据库后回收磁盘空间

mysql中删除数据库后回收磁盘空间,mysql,drop-database,Mysql,Drop Database,我已经创建了一些非常大的数据库,后来删除了一些。我注意到我的磁盘空间没有恢复到我预期的那么多。例如,我添加的最后一个数据库实际上耗尽了我所有的可用空间并中止,所以我放弃了该模式。在此之前,我有12.4 GB的空闲空间,现在我只有7.52 GB的空闲空间。 这是怎么回事?如何恢复~5 GB容量?来自: 目前,无法从表空间中删除数据文件。要减小表空间的大小,请使用以下步骤: 使用mysqldump转储所有InnoDB表 停止服务器 删除所有现有的表空间文件,包括ibdata和ibu日志文件。如果

我已经创建了一些非常大的数据库,后来删除了一些。我注意到我的磁盘空间没有恢复到我预期的那么多。例如,我添加的最后一个数据库实际上耗尽了我所有的可用空间并中止,所以我放弃了该模式。在此之前,我有12.4 GB的空闲空间,现在我只有7.52 GB的空闲空间。
这是怎么回事?如何恢复~5 GB容量?

来自:

目前,无法从表空间中删除数据文件。要减小表空间的大小,请使用以下步骤:

  • 使用mysqldump转储所有InnoDB表

  • 停止服务器

  • 删除所有现有的表空间文件,包括ibdata和ibu日志文件。如果要保留信息的备份副本,请在删除MySQL安装中的文件之前,将所有ib*文件复制到其他位置

  • 删除InnoDB表的所有.frm文件

  • 配置一个新的表空间

  • 重新启动服务器

  • 导入转储文件


  • Innodb在数据文件本身中创建一个文件系统(“表空间”)。在删除数据时,它从不“收缩”数据文件,因为在文件中重新组织数据可能代价高昂(不能保证删除的数据是在最后,甚至是连续的)。通过如上所述重新创建数据库,可以使文件与所有数据所需的文件一样大,但不能再大。

    InnoDB或MyISAM表?可能是同一答案更有用版本的副本:以下是提供答案的正确链接: