errmsg not master and slaveOk=false,code 13435,codeName NotMasterNoSlaveOk

当在SECONDARY 节点读取操作,报如下错误:
rs0:SECONDARY> show tables;
2020-08-26T10:34:53.196+0800 E QUERY    [thread1] Error: listCollections failed: {
    "operationTime" : Timestamp(1598409284, 2),
    "ok" : 0,
    "errmsg" : "not master and slaveOk=false",
    "code" : 13435,
    "codeName" : "NotMasterNoSlaveOk",
    "$clusterTime" : {
        "clusterTime" : Timestamp(1598409284, 2),
        "signature" : {
            "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
            "keyId" : NumberLong(0)
        }
    }
} 
原因:
SECONDARY 是不允许读写操作的。
解决方法一:
在SECONDARY 节点中执行
rs.slaveOk();
 
解决方法二:
添加到js文件中,连接mongo时,启动shell的时候自动加载。
vi ~/.mongorc.js
rs.slaveOk();
posted @ 2025-06-17 01:04  屠魔的少年  阅读(40)  评论(0)    收藏  举报