随着时间的推移,MySQL数据库的ibdata1文件增长到32GB左右。最近,我从我的数据库中删除了大约10GB的数据(并且重新启动了mysql以获得更好的效果),但是文件不会缩小。有什么办法来减少该文件MySQL数据文件不会缩小
8
A
回答
11
无论您删除多少数据,InnoDB表空间的文件大小都不会自动降低。
你可以做什么,虽然这是一个很大的努力,是通过设置
innodb_file_per_table
关于这个长的部分是创建一个表空间的每个表,你需要将所有数据从导出mysql服务器(建立一个新的服务器会更容易),然后重新导入数据。而不是一个包含每个表的数据的ibdata1文件,您会发现很多名为tablename.ibd
的文件,这些文件仅为一个表保存数据。
算账:
然后,当您删除大量从表中的数据,可以让MySQL的通过发行
alter table <tablename> engine=myisam;
切换到MyISAM数据重新创建数据文件(且有这个表的InnoDB数据文件被删除)然后
alter table <tablename> engine=innodb;
重新创建表。
1
4
的大小除非你把innodb_file_per_table
,ibdata1
拥有所有InnoDB
表加撤消。
该文件永远不会缩小。
要缩小它,你应该(风险自担):
- 备份和删除所有
InnoDB
表中所有数据库 - 删除文件手动
- 重新初始化
InnoDB
存储(通过重新启动mysqld
)和 - 从备份恢复表。
如果设置innodb_file_per_table
,你还是得这样做是为了回收空间,但在这种情况下,你就可以做到这一点对每个表的基础,而不会影响其他表。
注意,撤消在ibdata
仍持有,即使innodb_file_per_table
集。
1
运行optimize table your_db.your_table;
SQL请求 或使用mysql workbench migration wizard,它会创建数据库副本以减少大小
相关问题
- 1. 从ravendb删除数据文件大小不会缩小
- 2. mod_pagespeed不会缩小我的JS文件
- 3. MBCompression不会缩小webresouce.axd文件
- 4. 在flatbuffer中压缩数据结构会增加文件大小?
- 5. MYSQL数据文件压缩成GZ
- 6. MKMapView不会缩小
- 7. 即使有可用空间,mdf数据文件也不会缩小
- 8. BZip2解压缩不是文件而不会出错的数据?
- 9. 使用Express合并,缩小和提供JavaScript文件,但不会缩小响应
- 10. Flexbox:文本不会按比例缩小
- 11. mysql数据库.ibd文件大小
- 12. imagemin不会缩小SVG
- 13. MonoDevelop窗口不会缩小
- 14. 压缩/缩小VIDEO的文件大小
- 15. jsPDF - 缩小文件大小
- 16. mysql数据压缩
- 17. makefile缩小文件
- 18. fancybox2 - 弹出窗口不会缩小以适合数据
- 19. 如何缩小图像文件的大小而不压缩它?
- 20. 如何使grunt不会缩小某些js文件
- 21. grunt cssmin不会用jquery缩小文件前缀
- 22. Combres结合JS和CSS文件,但不会缩小
- 23. Java:使用FileChannel写入文件会使文件缩小?
- 24. Python:从文件中读取数据有时会被压缩,有时候不会
- 25. 缩小SQL Server数据库不工作
- 26. WordPress的文件数据不会被发送到mysql
- 27. php文件上传数据不会进入mysql
- 28. mysql转储不会写入完整的数据到文件
- 29. 即使我使用非缩小文件,ReactJS也会缩小错误
- 30. PHP/MySQL不会更新小数场