MongoDB复制集

在虚拟机上建立mongoDB复制集,一主两从。
主0:127.0.01:27017
从1:  127.0.0.1:27018
从2:  127.0.0.1:27019

首先,建立路径放置各个mongodb进程的数据文件、日志文件。
主0:  mkdir -p data/db0
从1:  mkdir -p data/db1
从2:  mkdir -p data/db2

开启mongodb进程
 mongod --port 27017 --dbpath data/db0 --logpath data/db0/db.log --replSet zwstest  --fork
 mongod --port 27018 --dbpath data/db1 --logpath data/db1/db.log --replSet zwstest  --fork
 mongod --port 27019 --dbpath data/db2 --logpath data/db2/db.log --replSet zwstest  --fork

在另外的终端中登录
mongo --port 27017

配置文件
cfg={
    _id:"zwstest", 
    members:[
        {_id:0, host:'127.0.0.1:27017'},
        {_id:1, host:'127.0.0.1:27018'}, 
        {_id:2, host:'127.0.0.1:27019'}
    ]}
初始化
rs.initiate(cfg)
查看主从复制状态
rs.status()
一段时间后,现在所在终端的界面将会变为primary开头。

 测试:在primary中插入一条数据,在从服务器中查看。
primary>use test
primary>db.book.insert({"name":"zhangsan"})

在另外的终端中登录
mongo --port 27018
secondary>rs.slaveOk()
secondary>use test 
secondary>db.book.find()

失败情况:
1、在配置文件中加了configsvr: true
cfg={
    _id:"zwstest", 
    configsvr: true,
    members:[
        {_id:0, host:'127.0.0.1:27017'},
        {_id:1, host:'127.0.0.1:27018'}, 
        {_id:2, host:'127.0.0.1:27019'}
    ]}
2、服务启动时加了 --configsvr
 mongod --port 27019 --configsvr --dbpath data/db2 --logpath data/db2/db.log --replSet zwstest  --fork
3、如果电脑关机了,下次只需执行开启mongodb进程即可,不需再配置,但在从服务器查询时,需rs.slaveOk()
 mongod --port 27017 --dbpath data/db0 --logpath data/db0/db.log --replSet zwstest  --fork
 mongod --port 27018 --dbpath data/db1 --logpath data/db1/db.log --replSet zwstest  --fork
 mongod --port 27019 --dbpath data/db2 --logpath data/db2/db.log --replSet zwstest  --fork

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值