码迷,mamicode.com
首页 > 其他好文 > 详细

ibdata1文件很大怎么办?

时间:2018-03-21 20:05:59      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:ibdata1文件很大怎么办?   ibdata1文件很多   mysql的ibdata1文件很大   


转自:http://blog.csdn.net/szx9231/article/details/52159352

ibdata1文件是什么?
答:ibdata1是一个用来构建innodb系统表空间的文件,这个文件包含了innodb表的元数据、撤销记录、修改buffer和双写buffer。如果file-per-table选项打开的话,该文件则不一定包含所有表的数据。当innodb_file_per_table选项打开的话,新创建表的数据和索引则不会存在系统表空间中,而是存放在各自表的.ibd文件中。
显然这个文件会越来越大,innodb_autoextend_increment选项则指定了该文件每次自动增长的步进,默认是8M。



是什么原因导致ibdata1文件会越来越大?
答:显然ibdata文件存的是数据库的表数据,如缓存,索引等。所以随着数据库越来越大,表也会越大,这个无法避免的。那么服务器硬盘空间不够了怎么办?我们只能把ibdata中的一些log文件都清掉。



怎么解决问题?
答:ibdata文件中包含的数据并不是我们都需要的,比如撤销日志,这些日志是可以定期删除的。但是之前是放在一个文件中,所以不好删除。因此最好的办法是把ibdata中需要存放的内容进行分开存放,除了
数据文件可以保存,其他不是非必要文件都单独存放并且定时清理。这样可以缓解数据库服务器磁盘的压力。



如果ibdata已经很大了该怎么办?
答:先把数据库文件备份下来,然后直接删除ibdata文件,重新导入数据库文件即可。这样就可以把ibdata中的日志和缓存都删除掉了。

或者改成独立表结构。

ibdata1文件很大怎么办?

标签:ibdata1文件很大怎么办?   ibdata1文件很多   mysql的ibdata1文件很大   

原文地址:http://blog.51cto.com/net881004/2089541

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!