Mysql必读Mysql单文件存储删除数据文件容量不会减少的bug与解决方法

前端之家收集整理的这篇文章主要介绍了Mysql必读Mysql单文件存储删除数据文件容量不会减少的bug与解决方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

MysqL必读MysqL文件存储删除数据文件容量不会减少的bug与解决方法》要点:
本文介绍了MysqL必读MysqL文件存储删除数据文件容量不会减少的bug与解决方法,希望对您有用。如果有疑问,可以联系我们。

MysqL的Bug之一:InnoDB ibdata1 never shrinks after data is removed
MysqL入门

问题描述
MysqL入门

当innodb引擎使用单个文件进行存储的时候,当对数据库中数据进行删除的时候,文件的大小并不会发生变化,意味着文件将会越来越大并且即使删除也没办法 让其释放磁盘的空间.MysqL入门

验证过程
MysqL入门

创建一个测试使用的表,如下创建好t这样的一个表.MysqL入门

Mysql必读Mysql单文件存储删除数据文件容量不会减少的bug与解决方法

MysqL入门

创建简单的存储过程来批量的插入数据.MysqL入门

Mysql必读Mysql单文件存储删除数据文件容量不会减少的bug与解决方法

MysqL入门

查看开始前的文件的大小MysqL入门

Mysql必读Mysql单文件存储删除数据文件容量不会减少的bug与解决方法

MysqL入门

当批量插入接近十万的数据后MysqL入门

Mysql必读Mysql单文件存储删除数据文件容量不会减少的bug与解决方法

MysqL入门

然后进行删除操作MysqL入门

Mysql必读Mysql单文件存储删除数据文件容量不会减少的bug与解决方法

MysqL入门

占用磁盘空间并未减少MysqL入门

解决方MysqL入门

两种方式:
MysqL入门

1. 先备份后删除然后进行导入MysqL入门

MysqLdump -uxxx -pxxx --all-databases > db.sql 
service MysqL stop 
rm ibdata 
rm ×log文件 
service MysqL start 
MysqL -uxxx -pxxx < db.sql 

2. 把表设置为单表存储的形式,这样每个表中的数据单独存储,在删除数据的时候,会随着数据的删除而释放存储空间.MysqL入门

set global innodb_file_per_table = on 

总结MysqL入门

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流.MysqL入门

猜你在找的MySQL相关文章