mongodb副本集的从库永久性设置setSlaveOk

今天在生产环境下面搭了一个mongo的副本集,但开发那边要求副本集读写分离。

坑爹的是每次上副本集的时候都要设置db.getMongo().setSlaveOk()才能访问数据。感觉很是苦逼。

后来开发的要求从库也要有可读的功能,而且上去不用设置db.getMongo().setSlaveOk()。

我靠,于是我想了n种办法,什么在配置文件中加db.getMongo().setSlaveOk()选项了,

又在网上找了半天方法,又问了别人。还是一无所获。

  濒临绝望的边缘,我找到了一篇文章,试着做以下,真就成了。好了,闲话少说,直接上干货。

  (1)、sudo find / -name .mongorc.js

    

  2、 sudo vim /home/shengyang/.mongorc.js

    在文件里面添加一行:rs.slaveOk();

    一般这个文件都是空的,直接加上去。保存退出。之后退出mongo在进去就可以了。

    记得:修改完成后,重新登录mongo,发现副本节点可读了(当前会话不生效,需要重新登录才行)。

原文地址:https://www.cnblogs.com/xingyunfashi/p/8780864.html