1 | 对于replica set 中的secondary 节点默认是不可读的。通过在连接时指定或者在主库指定slaveOk,由Secondary来分担读的压力,Primary只承担写操作。 |
1 | 如果通过shell访问mongo,要在secondary进行查询。会出现如下错误: |
有两种方法实现从机的查询:
第一种方法:
1 | db.getMongo().setSlaveOk(); |
第二种方法:
1 | rs.slaveOk(); |
1 | 但是这种方式有一个缺点就是,下次再通过mongo进入实例的时候,查询仍然会报错,为此可以通过下列方式 |
第三种方法:
1 | 在配置mongo的时候增加slave-ok="true" 来实现从secondary中进行读操作。 |
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2018/04/28/让mongo的从库支持读操作/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!