上一篇:MongoDB(8)—副本集的创建
1.使用主节点写入数据
接着上一篇文章,在上一篇文章中我们已经登录了主节点27017
,此时我们在主节点中写入一条数据:
1.1 查看当前的有哪些数据库:
1.2 在rs_db
数据库中创建一个data
集合
1.3 向data
集合中插入文档数据
1.4 查看data
集合中的文档数据
2.使用从节点查看数据
2.1 登录从节点
在windows
版本的mongoDB
的bin
目录下,输入cmd
打开windows命令窗口
,输入IP和端口号来连接从节点服务。
mongo --host=IP地址 --port=27018
2.2 查看从节点的数据库
按道理来说,从节点虽然不做写操作,但是读是没有问题的。前面的文章中我们将27018
端口已经添加到副本集中作为了从节点,但是这里显然27018
端口不承认自己是从节点。所以我们还需要对此端口做一个设置:
以上官方一点的解释就是:默认情况下,从节点没有读写数据的权力,但是可以为其添加读数据的权力,但是此操作需要进行设置。
2.3 为从节点添加读数据的权利
rs.slaveOk()
或者
rs.slaveOk(true)
注意:Ok中的“O”是大写,“k”是小写
输入命令之后点击回车
,并没有返回任何的响应数据。此时再次查询数据库
。
查询一下我们在主节点的data
集合中插入的数据:
发现主节点中插入的数据现在已经同步到了从节点上了。
2.4 取消从节点的读权限
如果想要取消此从节点的读权限,可以使用下面的命令:
rs.slaveOk(false)
3. 登录仲裁节点
仲裁者节点不存放任何的数据,就算是设置了rs.slaveOk()
,也不会拉取到主节点中新建的数据库
现在设置rs.slaveOk()
,再查询数据库:
发现最终查询出来的只有一个local
库,而其他的几个库都没有查询出来。