【问题标题】:Bloated innodb datafile (ibdata1) and how to reclaim space?膨胀的innodb数据文件(ibdata1)以及如何回收空间?
【发布时间】:2010-01-20 08:51:53
【问题描述】:

我的表中有大约 12GB 的数据,而我的数据文件 ibdata1 过去的大小约为 12GB。然后我运行以下命令

alter table `rails_production`.`pictures` change `data` `image_file_data` mediumblob NULL

在制作表格的临时副本时,出现以下错误

ERROR 1114 (HY000): The table '#sql-7fe4_12c9' is full

我认为这意味着没有足够的空间来制作表格的临时副本。但现在数据文件是 17GB!如何回收数据文件中的空间?

有没有办法检查这 17GB 中有多少正在使用?

【问题讨论】:

    标签: mysql innodb


    【解决方案1】:

    很遗憾,如果您的配置中没有使用 innodb_file_per_table,您将无法从 innodb 数据库中回收空间:

    MySQL InnoDB not releasing disk space after deleting data rows from table

    【讨论】:

      【解决方案2】:

      即使不使用 innodb_file_per_table ,您也可以通过转储数据库并重新加载来重新声明空间。 不过,这可能会导致一些停机时间。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-12
        • 2012-12-06
        • 2016-01-27
        相关资源
        最近更新 更多