MongoDB 副本集配置详解(2)

test_replica_set:PRIMARY>
test_replica_set:PRIMARY> for (i=0; i < 100; i++){db.coll.insert({"count": i})}
WriteResult({ "nInserted" : 1 })
test_replica_set:PRIMARY> db.coll.count()
100
test_replica_set:PRIMARY> db.coll.find().limit(5)
{ "_id" : ObjectId("5850f5f35f1a7d82c0b45b51"), "count" : 0 }
{ "_id" : ObjectId("5850f5f35f1a7d82c0b45b52"), "count" : 1 }
{ "_id" : ObjectId("5850f5f35f1a7d82c0b45b53"), "count" : 2 }
{ "_id" : ObjectId("5850f5f35f1a7d82c0b45b54"), "count" : 3 }
{ "_id" : ObjectId("5850f5f35f1a7d82c0b45b55"), "count" : 4 }

5 查看副本集是否有数据

mac-abeen:bin abeen$ ./mongo --port 27017 --host 192.168.0.20
MongoDB shell version: 3.2.8
connecting to: 192.168.0.20:27017/test

test_replica_set:SECONDARY> db.coll.find().limit(5)
Error: error: { "ok" : 0, "errmsg" : "not master and slaveOk=false", "code" : 13435 }
设置连接可读取数据
test_replica_set:SECONDARY> db.setSlaveOk()
副本中已有数据
test_replica_set:SECONDARY> db.coll.find().limit(5)
{ "_id" : ObjectId("5850f5f35f1a7d82c0b45b53"), "count" : 2 }
{ "_id" : ObjectId("5850f5f35f1a7d82c0b45b55"), "count" : 4 }
{ "_id" : ObjectId("5850f5f35f1a7d82c0b45b52"), "count" : 1 }
{ "_id" : ObjectId("5850f5f35f1a7d82c0b45b54"), "count" : 3 }
{ "_id" : ObjectId("5850f5f35f1a7d82c0b45b51"), "count" : 0 }

修改副本集

rs.add("server-4:27017")    //添加
rs.addArb("server-4:27017") //添加选举仲裁者
rs.add({"_id": 4, "host": "server-4:27017", "arbiterOnly": true) //添加选举仲裁者
rs.add({"_id": 5, "host": "server-5:27017", "priority": 0, "hidden": true) //添加隐藏成员
rs.remove("server-4:27017") //移除

修改副本集,通过rs.reconfig

rs.reconfig修改副本集成员时限制

不能修改成员的_id 字段

不能将接收rs.reconfig命令的成员(通常是主节点)的优先级设为0

不能仲裁者成员变为非仲裁者成员,反之亦然.

不能将buildIndexes: false的成员修改为buildIndexes: true
可以修改其他,比如host

var config = rs.config()
config.members[1].host = "newsserver:27017" //修改host
rs.reconfig(config)

更多MongoDB相关教程见以下内容

在 Azure 虚拟机上快速搭建 MongoDB 集群  https://www.linuxidc.com/Linux/2017-09/146778.htm
MongoDB复制集原理  https://www.linuxidc.com/Linux/2017-09/146670.htm
MongoDB 3.4 远程连接认证失败  https://www.linuxidc.com/Linux/2017-06/145070.htm
Ubuntu 16.04中安装MongoDB3.4数据库系统  https://www.linuxidc.com/Linux/2017-07/145526.htm
MongoDB权威指南第2版PDF完整带书签目录 下载见 https://www.linuxidc.com/Linux/2016-12/138253.htm
如何在Ubuntu 18.04 LTS上安装和配置MongoDB https://www.linuxidc.com/Linux/2018-05/152253.htm

MongoDB日常运维操作命令集锦 https://www.linuxidc.com/Linux/2018-08/153631.htm

Linux下MongoDB安装和配置详解  https://www.linuxidc.com/Linux/2018-08/153637.htm

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6c0c03d12a3bcc16c2cd358976e536a1.html