您好,欢迎访问一九零五行业门户网

如何释放已删除的InnoDB磁盘空间

innodb数据库对于已经删除的数据只是标记为删除,并不真正释放所占用的磁盘空间,这就导致innodb数据库文件不断增长。如果想彻底
innodb数据库对于已经删除的数据只是标记为删除,并不真正释放所占用的磁盘空间,这就导致innodb数据库文件不断增长。如果想彻底释放这些已经删除的数据,,需要把数据库导出,删除innodb数据库文件,然后再倒入。 下面是基本的步骤:
1 使用mysqldump命令将innodb数据库导出
2 停止mysql
3 删除所有innodb数据库文件和日志
4 启动mysql并自动重建innodb数据库文件和日志文件
5 导入前面备份的数据库文件
有一点要注意,你配置了mysql数据库复制,当你导入数据库备份文件的时候,所有的query都可能会被写入binlog,可以执行set sql_log_bin = 0;暂时停止binlog的写入。
还有一种方式是在创建数据库的时候设置innodb_file_per_table,这样innodb会对每个表创建一个数据文件,然后只需要运行optimize table * 命令就可以释放所有已经删除的磁盘空间。
其它类似信息

推荐信息