mongodb副本集下删除某个节点,并重置节点为空的状态

在副本集中如果我们想删除某个节点。直接rs.remove(),是解决不了问题的。当你想把这个节点加到其他的副本集上就会报错或者说此节点已被初始化了,无法再进行初始化。总感觉该节点和原来的副本集有着某种关联,这种关联还没有从副本集上清除掉。

解决的办法,在主节点进行rs.remove()操作之后,需要把本地的local库删除掉。

具体操作

首先不要在replSet模式下启动,否则会造成无法删除local库文件

mongodb副本集下删除某个节点,并重置节点为空的状态

 最正常的做法,不以replSet方式启动,以不带replSet模式启动。

mongodb副本集下删除某个节点,并重置节点为空的状态

可以看到删除数据库成功。

 重新改变配置文件,命名副本集。

mongodb副本集下删除某个节点,并重置节点为空的状态

现在的的副本集才输入一个空白的副本集,你可以重新把他分配给别的replSet,当然你的replSet Id得保持一致才行。