方法释放磁盘空间后,MySQLInnoDB中删除数据

InnoDB数据库只是标记删除的数据并没有真正释放磁盘空间的占用,导致越来越多的InnoDB数据库文件。

如果你设置innodb_file_per_table = 1创建数据库时,InnoDB将创建一个每个表的数据文件,然后你可以释放所有已删除的磁盘空间只通过运行优化表命令。

运行优化表表名称后,它将最终报告表不支持优化,而是重新生成+分析,但它已经成功:

-------------------------------------------------------------

如果你不设置这个参数,要释放空间,完全释放这些被删除的数据,你需要导出数据库,删除InnoDB数据库文件,然后把它倒进。

以下是基本步骤:

1使用mysqldump命令导出InnoDB数据库

2停止MySQL

3删除所有InnoDB数据库文件和日志

4启动MySQL和自动重建InnoDB数据库文件和日志文件

5导入以前的备份数据库文件

----------------------------------------------

具体命令:

复制代码代码如下所示:

#备份数据库:

就证明--快--中-力-所有数据库> mysqldump.sql

#停止数据库

停止mysqld服务

#删除这些文件

RM / usr /局部/ MySQL /无功/ ibdata1

RM / usr /局部/ MySQL /无功/ ib_logfile *

除了所有#手动删除MySQL数据库文件夹,然后重新启动数据库

启动mysql服务

#数据还原

MySQL中-版本<< mysqldump.sql