我的应用程序在 openshift online gear 上使用 mySQL 5.5。最近我发现我的 mySQL 数据库在没有太多操作的情况下迅速变得非常大(几天就增加了 1G)。这让我尝试优化数据库。令我惊讶的是,每次我优化数据库时,db 的大小(增加 1G)。/mysql/ibdata1 非常大。
经过调查,我惊讶地发现 Innodb_file_per_table 处于关闭状态。对我来说,这很奇怪,我的安装和部署脚本都将其设置为 ON(从一开始)。我也尝试手动将其设置为 ON。然而,1 天后,它又被改为 OFF。有人知道为什么吗?或者无论如何要知道原因。谢谢。
答案1
我发现当 gear 重启时,它变为了 OFF。看来 openshift 在重启 gear 时没有运行 post_start_php。我需要添加 post_restart 脚本来将 innodb_file_per_table 设置为 ON。现在看起来没问题了。