加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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

发布时间:2020-12-12 01:15:41 所属栏目:MySql教程 来源:网络整理
导读:《Mysql必读Mysql单文件存储删除数据文件容量不会减少的bug与解决方法》要点: 本文介绍了Mysql必读Mysql单文件存储删除数据文件容量不会减少的bug与解决方法,希望对您有用。如果有疑问,可以联系我们。 MySQL的Bug之一:InnoDB ibdata1 never shrinks afte

《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入门

MYSQL入门

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

MYSQL入门

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

MYSQL入门

然后进行删除操作MYSQL入门

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入门

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读