以下内容参考此链接
建立副本集
由于我下载的时候将Mongo存放在D盘里,所以我在C盘重新建立了mongoDB的文档集存放Mongo的副本
操作:复制Mongo文件夹粘贴三份并更改名称(最好能区分开)
然后在C盘建立data文件夹存放以下六个文件夹,文件夹名称以建立的副本命名区分开
启动Master
1、打开cmd
2、启动路径:(与先前建立的路径匹配)
C:\Program Files\mongoDB\master\bin
3、启动命令:
mongod -port 27111 -dbpath C:\data\masterdb -logpath C:\data\masterlog\mongodb.log -replSet mySet -logappend
启动Slave
1、打开一个新的cmd
2、启动路径:(与先前建立的路径匹配)
C:\Program Files\mongoDB\slave\bin
3、启动命令:
mongod -port 27112 -dbpath C:\data\slavedb -logpath C:\data\slavelog\mongodb.log -replSet mySet -logappend
启动Arbiter
1、打开一个新的cmd
2、启动路径:(与先前建立的路径匹配)
C:\Program Files\mongoDB\arbiter\bin
3、启动命令:
mongod -port 27113 -dbpath C:\data\arbiterdb -logpath C:\data\arbiterlog\mongodb.log -replSet mySet -logappend
添加环境变量
这部分一般在下载安装过程中已经添加变量了的,添加的变量是下载安装的mongo/bin路径而非副本路径
操作:此电脑——属性——高级系统设置——系统属性——环境变量——添加系统变量
登录master
新开启一个cmd窗口,执行mongd 命令,跟上其中一个端口号27111
操作:mongo -port 27111
查看rs状态
一开始查看状态会找不到副本集的配置信息
操作:rs.status()
执行初始化后再次查看状态
操作:
rs.initiate()
rs.status()
为副本集添加副本
添加副本27112
操作:rs.add(“localhost:27112”)
添加副本27113
操作:rs.add(“localhost:27113”)
查看当前状态
操作:rs.status()
登录27112
操作:mongo -port 27112
我们可以发现它是Secondary
登录27113
操作:mongo -port 27113
我们可以发现它也是Secondary
测试副本集的同步功能
先在主节点27111插入一条数据
在27111的cmd界面输入命令行插入数据
(我不小心把界面关了,我插入的数据是tt)
操作:
use test
db.user.insert({name:“tt”})
db.user.find()
在从节点27112进行查询
由于副本节点默认没有读取副本集内容权限,因此会报错
操作:
use test
db.user.find()
开启读取权限后再次执行查看文档命令
操作:rs.slaveOk()
再次查询数据发现成功了
操作:db.user.find()
在从节点27113进行查询
同理上一步 不再做拓展
到此实现了副本集的配置和同步测试