mysql 的新版本现在默认使用: innodb
有一个参数默认为开启: innodb_file_per_table
这个参数不开启的情况下所有数据库的数据都存放在: ibdata1文件中
这个文件还只能增长,不能缩小
有一个参数默认为开启: innodb_file_per_table
这个参数不开启的情况下所有数据库的数据都存放在: ibdata1文件中
这个文件还只能增长,不能缩小
所有默认这种方式数据库占用磁盘只能越来越大,就算你删除或者truncate table,也无法缩小mysql占用的磁盘空间
如果这是你的服务器硬盘占用了大量的空间,并且没有多少空余,这种时候,压缩磁盘空间将是一件非常空难的事情
所以以后大家在部署生产环境的mysql是,尽量开启配置: innodb_file_per_table = 1
这是每个表的数据都保存在自己的数据文件中,
以后某些表如果占用了大量的空间,就可以通过单表删除、重建方式,或者truncate方式来释放磁盘占用空间