zoukankan      html  css  js  c++  java
  • mysql中ibdata1过大的问题

    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中的日志和缓存都删除掉了。

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

  • 相关阅读:
    luogu P1955 [NOI2015]程序自动分析
    luogu P5514 [MtOI2019]永夜的报应
    bzoj1816[Cqoi2010]扑克牌
    bzoj1040[ZJOI2008]骑士
    bzoj4582[Usaco2016 Open]Diamond Collector
    bzoj1029[JSOI2007]建筑抢修
    bzoj1079[SCOI2008]着色方案
    bzoj1051[HAOI2006]受欢迎的牛
    bzoj4525[Usaco2016 Jan]Angry Cows
    bzoj4512[Usaco2016 Jan] Build Gates
  • 原文地址:https://www.cnblogs.com/tv151579/p/8288678.html
Copyright © 2011-2022 走看看