【问题标题】:SonarQube : How to reduce size of measures_data.ibd?SonarQube:如何减小 measure_data.ibd 的大小?
【发布时间】:2013-11-21 08:14:35
【问题描述】:

我已经使用 SonarQube/Sonar 几年了,measures_data.idb 的大小已经增长到 114GB,是的。

我已经设置了默认的家政设置。

我正在使用 MySql 5.6(每个文件设置默认)

我正在使用 Sonar 4.0。

我尝试从 mysql 导出数据库,然后再次导入。但它的大小相同。 它确实说明了..

note     : Table does not support optimize, doing recreate + analyze instead
status   : OK 

我从 Sonar 的“批量删除”选项中删除了几个旧项目,但文件大小相同。

谁能给我一些关于下一步尝试的建议?

谢谢 杰夫·波特

【问题讨论】:

  • 你的 Innodb 是一个大文件还是一个表一个文件?
  • MySql 5.6 默认设置为“每个表一个文件”

标签: mysql sonarqube


【解决方案1】:

最终的解决方案很简单。

从 MySQL 5.5 导出。 (导出文件为 114 GB)

卸载 MySQL 5.5(删除所有数据文件)

安装 MySQL 5.6

导入数据

从 MySQL 5.6 导出(导出文件现在为 13 GB)

卸载 MySQL 5.6(删除所有数据文件)

安装 MySQL 5.6

导入数据

【讨论】:

    【解决方案2】:

    我想你的文件比它的内容大得多,并且你关闭了 innodb_file_per_table。这是 mysql 服务器的默认设置,但在最新版本中,默认值为 on。

    Innodb 文件按需增长,但不会缩小。事实上,甚至不可能缩小它们。

    前段时间我也遇到过类似的情况。解决方案是打开 innodb_file_per_table(在 my.ini 文件中添加“innodb_file_per_table=1”)。然后我将整个数据库导出到一个文本文件中,并删除了 Innodb .idb 文件。
    删除数据库是不够的,还需要删除文件。

    当您从文本文件中导入数据时,每个表都会有一个文件。使用此配置将更容易管理使用的磁盘空间。

    【讨论】:

    • 我使用的是 MySql 5.6(每个文件默认设置),每个表一个文件。我从 5.5 导出,卸载 5.5 并删除所有文件,安装 5.6,确保 5.6 使用的是每表文件并导入它。我仍然得到一个 114Gig 文件。
    • 这不只是数据的大小吗?表格数据和索引之间的大小如何分布?可能您唯一能做的就是删除旧数据。但这是有风险的,您需要知道自己在做什么。
    猜你喜欢
    • 2021-10-26
    • 2011-09-03
    • 2016-01-17
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多