MySQL RDS 只读副本服务未清除二进制日志

MySQL RDS read replica service is not purging binlogs

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

我试图关闭所有传入连接,甚至关闭了 "event scheduler" 和复制过程。仍然图片不健康: CPU 卡在 >50%!数据库中没有会话(只有 rdsadmin@localhost

你能帮我看看原因和恢复方法吗?因为现在我必须每 3-4 天购买 ~50GB "nothing"。

For now ANSWER: we've contacted AWS Support (paid developer support), but they did not find anything special and said that the problem is on their side in hardware probably. So we had to create new replica and migrate our custom schemas to it, killed the problematic one after that.

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

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