方法释放磁盘空间后,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