“errmsg“ : “not master and slaveOk=false“_Mongo集群没有primary但有secondary时连接不上且不能读数据

短暂解决方法

## 第一种方法
db.getMongo().setSlaveOk();
## 第二种方法
rs.slaveOk();

之所以短暂是因为下次再通过mongo进入实例的时候,查询仍然会报错,所以我们需要固化(自动化)一下

固化上述方法

vi ~/.mongorc.js
## 增加一行解决问题
rs.slaveOk();

## 还可以加点好玩的输出
var com = ["Good Luck", "Happy"];
var index = Math.floor(Math.random()*2);
print("Hello, Hope you are "+com[index]+" !");

这样就可以在启动shell的时候自动加载,而不需手动在输入了.

# #运行的样子
# mongo
MongoDB shell version v3.6.9
connecting to: mongodb://127.0.0.1:27017
Implicit session: session { "id" : UUID("43b2cf35-4dab-4ee1-aa3d-e581ee021f23") }
MongoDB server version: 3.6.9
Hello, Hope you are Happy !

如果在启动mongo脚本的时候,加上–norc参数,就可以禁止加载.mongorc.js

参考链接

http://blog.51cto.com/wsw26/1744267

https://www.cnblogs.com/unqiang/p/3746399.html

你可能感兴趣的:(Web开发)