收缩 ibdata1 和 ib_logfile0

eko*_*m77 5 mysql configuration mysql-5.7

我想减小MySQL 服务器 5.7 上ibdata1ib_logfile0文件的大小。但是,我不想激活该innodb_file_per_table选项。

在不激活的情况下减小上述文件大小的最佳选择是innodb_file_per_table什么?

Ric*_*mes 1

ibdata1收缩起来很乱。 对于 5.7,请参阅 https://dev.mysql.com/doc/refman/5.7/en/innodb-resize-system-tablespace.html了解有关转储、删除和重新加载的详细信息。这基本上是唯一的选择。

您也可以在加载之前更改innodb_log_file_size(in )。my.cnf

调整大小只是iblog*——

  1. innodb_fast_shutdown = 0
  2. 优雅地关闭
  3. 改变innodb_log_file_size
  4. 开始

我建议innodb_file_per_table=ON使用“大”表,至少在执行CREATE或时ALTER。然后对此类表进行维护不会使 ibdata1 膨胀。(我更喜欢OFF小桌子。是的,有些桌子 FPT 很乱,有些没有。)

注意:改变FPT并不是缩小的方法ibdata1ibdata1 只会增长

我建议不要让可用磁盘空间低于最大表的大小。