在MongoDB Windows中复制数据库时收到错误消息

时间:2018-10-12 09:48:44

标签: mongodb replication

我正在尝试在两个不同的Windows服务器中的mongodb 4.0中复制数据库。我遵循了mongodb复制的所有步骤。在通过以下命令从主数据库配置辅助数据库时,

  

rsconf = {_ id:“ myset”,   成员:[{{_ id:0,host:“ PrimaryServerIP:27017”},{_ id:1,host:“ SecondaryServerIP:27017”}]}

然后,当我通过重新配置rsconf时

  

rs.reconfig(rsconf)

我收到以下错误消息 “在MongoDB 4.0中删除了对复制协议版本0的支持。降级到MongoDB版本3.6,并在升级MongoDB版本之前将协议版本升级到1”

我试图通过以下命令将MongoDB降级为3.6,从而更新复制协议

rsconf = rs.conf()
rsconf.protocolVersion=1
rs.reconfig(rsconf)

但是仍然收到相同的错误消息。在mongodb 4.0中,有什么方法可以将协议版本更新为1。

我也在mongodb 3.6中尝试了相同的复制步骤,并且工作正常。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,当我在新配置中添加protocolVersion时,它就可以正常工作。

rsconf={
         _id:"myset", 
         protocolVersion: NumberLong(1),
         members:[{_id:0,host:"PrimaryServerIP:27017"},{_id:1,host:"SecondaryServerIP:27017"}]
       }

最初,我遇到这个问题,试图将rs config重置为空白,以便重新开始。我实际上是在mongo shell中完成的

 cfg = {
     "_id" : "rs0",
     "version" : 2,
     "protocolVersion" : NumberLong(1),
     "members" : [
         {
             "_id" : 0,
             "host" : "myhost:27017"
         }
     ]
 }

 rs.reconfig(cfg, {force:true})