MongoDB副本集的实现与维护实战

本文详细介绍如何在单一机器上通过三个端口建立MongoDB副本集,并覆盖副本集的读写操作、状态查询及成员移除等维护操作。

1.建立MongoDB副本集

现利用一台机器完成MongoDB副本集的建立

机器1:127.0.0.1:27017

机器2:127.0.0.1:27018 

机器3:127.0.0.1:27019 

在D盘建立以下目录

 

 在各自目录的主目录中创建文件夹db(用来存储数据库文件),log(存储日志文件),配置文件mongo.txt,内容如下

dbpath=D:\Mongo\Mongo27017\3.2\db
logpath=D:\Mongo\Mongo27017\3.2\log\log.txt
port=27017
serviceName=Mongo27017
serviceDisplayName=Mongo27017
replSet=TestSet

 

dbpath=D:\Mongo\Mongo27018\3.2\db
logpath=D:\Mongo\Mongo27018\3.2\log\log.txt
port=27018
serviceName=Mongo27018
serviceDisplayName=Mongo27018
replSet=TestSet

 

dbpath=D:\Mongo\Mongo27019\3.2\db
logpath=D:\Mongo\Mongo27019\3.2\log\log.txt
port=27019
serviceName=Mongo27019
serviceDisplayName=Mongo27019
replSet=TestSet

分别执行以下命令

mongod --config D:\Mongo\Mongo27017\3.2\mongo.txt --install

net start  Mongo27017

mongod --config D:\Mongo\Mongo27018\3.2\mongo.txt --install

net start  Mongo27018 

mongod --config D:\Mongo\Mongo27019\3.2\mongo.txt --install

net start  Mongo27019

 

输入以下命令

config = { _id:"TestSet", 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(config)

rs.config()

 

这样,副本集就建立起来了

 2.副本集读写数据

在主数据库中执行以下命令:

db.person.insert({"name":"一呆","Age":20}) 

插入一条记录 

默认情况下副本也是不能读数据的,如果需要副本读数据,需要在副本中执行以下命令

rs.slaveOk() 

3.副本集维护

查看副本集状态:

rs.status()

rs.config()

移除指定的副本

rs.remove("127.0.0.1:27018") ,移除命令只能在主库中执行 

停止服务Mongo27017后在27018副本执行以下命令:rs.status(),发现主库已经被自动切换为27018了,这是自动完成的

 

 重新启动服务Mongo27017,执行命令rs.status()

转载于:https://www.cnblogs.com/nation/p/5633470.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值