0

我们在 AWS RDS 服务上有一个 MySQL (5.6.41) 的副本读取数据库,在过去 2 年中运行良好,但在过去 3 周内突然开始出现非常不同的行为:它使用空间并且通常不会将其返回. 所以我必须购买更多的存储空间才能继续运行(你可以在屏幕截图中看到 2 个峰值)。 在此处输入图像描述 正如我所看到的,问题是一些守护进程在'mysql-bin-changelog.10xxxx'之前自动调用PURGE BINARY LOGS;但是那个日志“10xxxx”没有被删除,只是留在那里。我检查了 INNODB MONITOR OUTPUT,没有长时间的活动事务,show processlist没有显示任何内容,但是 ~100% CPU 已使用 在此处输入图像描述 空间没有回收!SHOW BINARY LOGS;显示 >5200 条记录,并且这个数字还在继续增长。

我试图关闭所有传入连接,甚至关闭“事件调度程序”和复制过程。画面仍然不健康: 在此处输入图像描述 CPU 只是停留在 >50%!并且数据库中没有会话(只是rdsadmin@localhost

您能帮我解决原因以及如何恢复吗?因为现在我必须每 3-4 天购买约 50GB 的“无”。

现在回答:我们已经联系了 AWS Support(付费开发人员支持),但他们没有发现任何特别之处,并表示问题可能出在硬件方面。所以我们必须创建新的副本并将我们的自定义模式迁移到它,然后杀死有问题的副本。

4

1 回答 1

2

我会回答自己的问题,因为没有找到更好的解决方案,即使在与 AWS Support 联系和调查之后也是如此。

我们已经联系了 AWS Support(付费开发人员支持),但他们没有发现任何特别之处,并表示问题可能出在硬件方面。所以我们必须创建新的副本并将我们的自定义模式迁移到它,然后杀死有问题的副本。

于 2019-09-03T12:08:02.207 回答