我已经创建了Aurora数据库的快照,然后恢复它。我们管它叫克隆
以下是主数据库上命令SHOW BINARY LOGS的输出

以下是克隆数据库上命令SHOW BINARY LOGS的输出

如您所见,克隆上有两个额外的binlog文件,我不想要。我想要和主人一样的二进制日志。
如何从克隆数据库中删除最后2个bing日志?
这些bin日志文件没有什么特别之处。
mysql-bin-changelog.603814

mysql-bin-changelog.603815

发布于 2021-06-15 13:13:39
“我想要和主人一样的二进制日志。”
你为什么想要这个?由于文件名和大小不同,这两个实例之间的绑定日志已经不完全相同,甚至除了最后两个实例之外。
如果运行FLUSH LOGS,或者MySQL服务器重新启动,或者文件达到最大的二进制日志大小,则binlog启动新文件。文件的数量及其大小在源实例与其副本之间必然不同步。在这种情况下,我猜想恢复快照会导致两次重新启动。
对于具有不同大小的binlog文件来说,这不是一个问题。只要它们包含相同的更改,它们就可以存储在少数文件或多个文件中,而且它们不必是相同的。
若要在绑定日志中应用更改,必须具有自上次快照以来的连续更改集。如果要清除最后两个文件,则永远不能使用绑定日志进行复制或点时点恢复,至少不能超过mysql-bin-changelog.603813。
清除比最新快照更早的binlog文件是常见的,并且是推荐的,但不是最新的binlog文件。事实上,PURGE BINARY LOGS永远不会删除最新的binlog文件,因为MySQL服务器仍然在使用它。
对于您来说,一种解决方案是将参数组中的expire_logs_days设置为一个适度的值,例如2或3,然后等待这个天数使当前的绑定日志集过期。之后,小的二进制日志文件就会消失。
https://dba.stackexchange.com/questions/294277
复制相似问题