我如何从主节点切换到辅助节点
How I can switch to secondary node from primary
我正在使用具有 3 个节点的副本集。主节点名称为 n1,端口为 27018,辅助节点 n2 端口为 27019,n3 端口为 27020。
我想从主节点切换到任何辅助节点。我试过 mongo -host n2 -port 27019 但对我不起作用 returns:
“未捕获的异常:语法错误:意外标记:标识符:
@(shell):1:12"
还有别的办法吗?我查看了文档,但什么也没找到
谢谢
- 在命令终端你可以试试。
mongo "mongodb://host1:27017,host2:27017,host3:27017/myDB?replicaSet=myRS"
或
- 在shell中,您可以先打开一个mongo会话而不连接到mongo副本集
mongo --nodb
- 在 mongo shell 中,您可以连接到副本集。
conn = new Mongo("myRS/host1:27017,host2:27017,host3:27017")
db = conn.getDB("myDB")
请 运行 来自 CLI 的相同命令,而不是 Mongo Shell。还可以考虑在指定全名选项时使用双破折号,如上所示:
mongo --host n2 --port 27019
这样您就可以在read-only模式下访问数据。为了导航数据库,您首先需要 运行 以下命令:
rs.secondaryOk()
相反,如果您需要将主节点切换到“n2”节点,则需要在主节点中运行执行以下查询:
cfg = rs.config()
cfg.members[1].priority = 10 \ "set a value higher than the primary node"
rs.reconfig(cfg)
rs.stepDown()
通过这种方式,您将设置选举优先级,运行执行降级命令将强制 n2 节点成为主要节点
我正在使用具有 3 个节点的副本集。主节点名称为 n1,端口为 27018,辅助节点 n2 端口为 27019,n3 端口为 27020。
我想从主节点切换到任何辅助节点。我试过 mongo -host n2 -port 27019 但对我不起作用 returns: “未捕获的异常:语法错误:意外标记:标识符: @(shell):1:12"
还有别的办法吗?我查看了文档,但什么也没找到
谢谢
- 在命令终端你可以试试。
mongo "mongodb://host1:27017,host2:27017,host3:27017/myDB?replicaSet=myRS"
或
- 在shell中,您可以先打开一个mongo会话而不连接到mongo副本集
mongo --nodb
- 在 mongo shell 中,您可以连接到副本集。
conn = new Mongo("myRS/host1:27017,host2:27017,host3:27017")
db = conn.getDB("myDB")
请 运行 来自 CLI 的相同命令,而不是 Mongo Shell。还可以考虑在指定全名选项时使用双破折号,如上所示:
mongo --host n2 --port 27019
这样您就可以在read-only模式下访问数据。为了导航数据库,您首先需要 运行 以下命令:
rs.secondaryOk()
相反,如果您需要将主节点切换到“n2”节点,则需要在主节点中运行执行以下查询:
cfg = rs.config()
cfg.members[1].priority = 10 \ "set a value higher than the primary node"
rs.reconfig(cfg)
rs.stepDown()
通过这种方式,您将设置选举优先级,运行执行降级命令将强制 n2 节点成为主要节点