今天碰到了mysql中ibdata1过大的问题,于是深入研究了一下。
2016-08-09 08:21
351 查看
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是一个用来构建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中的日志和缓存都删除掉了。
相关文章推荐
- mysql 今天碰到的两个问题。
- mysql中ibdata1过大的问题
- 正确计算linux系统内存使用率 (我今天刚好碰到这个问题, 故转载一下)
- 记录一下今天碰到的一个问题
- 今天碰到一个问题,在网上查了一下,发现有人碰到。转一下
- 在【Xamarin+Prism开发详解三:Visual studio 2017 RC初体验】中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很是感兴趣。于是发时间深入研究了一下Visual Studio 2017RC 是不是和微软Connect()://2016上说得一样神。
- 今天研究了一下关于Asp.net文件上传时的内存消耗问题
- 今天碰到一个listener的问题,记录一下
- 使用新系统碰到的问题,一起研究一下吧
- 今天空闲了点,呵呵,研究了一下久违的xml
- 全程记录:今天尝试安装SharePoint Server 2007过程 ,安装成功了,但是开始使用碰到权限问题,应该算是BUg吧
- 研究Ajax Tags碰到新问题-->已经解决
- 今天碰到一个强数据类型集的问题,不知道大家怎么解决呢????
- mySQL4.1以上版本数据库乱码问题彻底研究
- 今天用ACCESS简单研究了一下简单人工智能聊天程序的设计思路
- 今天碰到的问题
- 今天mysql了一下
- 今天开始研究jetty .发现一个jetty 的 source 中 有一个 threadPool 研究一下
- 在写 stored procedures 的时候碰到奇怪的问题...帮忙解决一下把
- 解决 Mysql 占用系统资源过大的问题