副本集
参考网址:
https://blog.youkuaiyun.com/wanght89/article/details/77677271
将4.2文件夹复制三份
创建3个db文件夹 3个log文件夹
启动Master
1.启动路径:C:\Program Files\MongoDB\Server\master\bin
1.启动命令:
mongod -port 27111 -dbpath C:\data\masterdb -logpath C:\data\masterlog\mongodb.log -replSet mySet -logappend
启动Slave
1.切换 C:\Program Files\MongoDB\Server\slave\bin
2.执行 mongod -port 27112 -dbpath C:\data\slavedb -logpath C:\data\slavelog\mongodb.log -replSet mySet -logappend
启动Arbiter
C:\Program Files\MongoDB\Server\arbiter\bin
mongod -port 27113 -dbpath C:\data\arbiterdb -logpath C:\data\arbiterlog\mongodb.log -replSet mySet -logappend
1.登录master
mongo -port 27111
2.在初始化之前先查看一下rs状态
rs.status()
ok 0 没有找到副本集的配置信息
3.执行初始化 再次查看状态
rs.initiate()
rs.status()
4.为副本集添加副本
rs.add(“localhost:27112”)
添加成功啦 ok=1
再次查看rs.status()
发现副本集中有两个节点啦。而且27111是主节点,27112是从节点
5.添加第三个副本集
rs.add(“localhost:27113”)
rs.status()
7.登录一下27112
mongo -port 27112
发现它是Secondary
6.测试副本集的同步功能
6.1先在主节点27111插入一条数据
use test
db.user.insert({name:“baobei”})
6.2 在从节点27112进行查询
查不到数据 报错
由于副本节点默认没有读取副本集内容权限,因此会报错
开启读取权限后再次执行查看文档命令
rs.slaveOk()
再次查询数据 成功啦
到此我们实现了副本集的配置和同步。
从节点里面无法进行插入操作 测试如下: