我们在AWS RDS服务上有一个针对MySQL(5.6.41)的副本读取数据库,该数据库在过去2年中运行良好,但在过去3周中突然开始表现出很大不同:它使用了空间,通常情况下不正常把它还回来。因此,我必须购买更多存储空间才能继续运行(您可以在屏幕截图中看到2个峰值)。
如我所见,问题是某些守护程序在“ mysql-bin-changelog.10xxxx”之前自动调用了“ PURGE BINARY LOGS”。但是该日志“ 10xxxx”不会被删除,只会停留在那儿。我已经检查了INNODB MONITOR OUTPUT,没有长时间的活动事务,show processlist
显示为Nothing,但已使用约100%的CPU
空间无法回收! SHOW BINARY LOGS;
显示> 5200条记录,并且此数字继续增长。
我试图关闭所有传入连接,甚至关闭了“事件调度程序”和复制过程。画面仍然不健康:
CPU停留在> 50%!而且数据库中没有会话(仅rdsadmin@localhost
)
您能协助我解决原因以及如何恢复吗?因为现在,我必须每3-4天购买50GB的“空手”产品。
答案 0 :(得分:0)
我将回答自己的问题,因为即使与AWS Support联系并进行调查之后,都没有找到更好的解决方案。
我们已经联系了AWS Support(付费开发人员支持),但他们没有发现任何特别之处,并表示问题可能出在硬件方面。因此,我们必须创建一个新副本并将其自定义架构迁移到该副本,然后杀死有问题的副本。