MongoDB(9)---副本集数据读写

在这里插入图片描述

上一篇:MongoDB(8)—副本集的创建

1.使用主节点写入数据

  接着上一篇文章,在上一篇文章中我们已经登录了主节点27017,此时我们在主节点中写入一条数据:

1.1 查看当前的有哪些数据库:
在这里插入图片描述

1.2 在rs_db数据库中创建一个data集合
在这里插入图片描述

1.3 向data集合中插入文档数据
在这里插入图片描述

1.4 查看data集合中的文档数据
在这里插入图片描述

2.使用从节点查看数据

2.1 登录从节点

windows版本的mongoDBbin目录下,输入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库,而其他的几个库都没有查询出来。

下一篇:MongoDB(10)—副本集主节点选举原理

发布了101 篇原创文章 · 获赞 50 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43655835/article/details/104428112
今日推荐