记录一次mongodb副本集的异常情况:
一、现象
在mongodb副本集中新增了一个数据节点,在新的数据节点数据同步完整后,新节点突然出现了dropAllDatabasesExceptLocal的操作,导致新节点的数据全部被删除。
二、原因
经过查看新数据节点的日志,发现了报错:OplogOperationUnsupported: error applying batch: Applying renameCollection not supported in initial sync
原来是在主库操作了renameCollection的命令,并且该命令还存在oplog中。由于mongodb本身不支持在初始化同步的时候不支持renameCollection,导致初始化同步失败,因此清空的整个新数据节点的数据。
三、总结
mongodb副本集在初始化同步时,不支持renameCollection。这句话非常重要,如果副本集要初始化同步,一定要避开该操作。