[App] MongoDB 主从配置

 

master

192.168.1.153

slave

192.168.1.154

os

rhel 7.2

 

1、主从安装

# cd /usr/local/src

# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.4.tgz

# tar -zxf mongodb-linux-x86_64-rhel70-3.2.4.tgz

# mv mongodb-linux-x86_64-rhel70-3.2.4 /usr/local/mongodb

# chmod +x /usr/local/mongodb/bin/*

# vi /etc/profile

export PATH=/usr/local/mongodb/bin:$PATH

# source /etc/profile

# cd /usr/local/mongodb/

# mkdir -p data/mongodb

# mkdir -p data/logs

# vi data/mongodb.conf     # master 配置

port=27017

dbpath=/usr/local/mongodb/data/mongodb/

logpath=/usr/local/mongodb/data/logs/mongodb.log

fork=true

logappend=true

directoryperdb=true

master=true

oplogSize=2048

 

# vi data/mongodb.conf     # slave 配置

port=27017

dbpath=/usr/local/mongodb/data/mongodb/

logpath=/usr/local/mongodb/data/logs/mongodb.log

fork=true

logappend=true

directoryperdb=true

slave=true

source=192.168.1.153:27017

autoresync=true

slavedelay=5

oplogSize=2048

 

 

# mongod --config /usr/local/mongodb/data/mongodb.conf

about to fork child process, waiting until server is ready for connections.

forked process: 17802

child process started successfully, parent exiting

 

# vi /etc/rc.local

mongod --config /usr/local/mongodb/data/mongodb.conf

 

 

2、测试

# 主库新增记录

# mongo

> usetest

> db.blog.save({title:"new article"})


# 从库查询

# mongo

> use  test

> db.blog.find()  

Error: error: { "OK" : 0 , "errmsg" : "notmaster and slaveok=false", "code" : 13435}

解决:

有两种方法实现从机的查询:

第一种方法:db.getMongo().setSlaveOk();

第二种方法:rs.slaveOk();

但是这种方式有一个缺点就是,下次再通过mongo进入实例的时候,查询仍然会报错,为此可以通过下列方式

vi ~/.mongorc.js

增加一行rs.slaveOk();

这样的话以后每次通过mongo命令进入都可以查询了

 

来自 <https://zhidao.baidu.com/question/1821198297277350388.html>

 

 

正常返回:

"_id" : ObjectId("55595022e26fd5794a58bdd3"), "title" : "new article" } 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值