介绍:
mongo4云19年2月16开发公布,至今已经半年,前段时间一直在用mongo3系列,4X系列新增很多新特性,下面我来简单介绍一下,先从副本集开始
副本集:
主节点宕机时从节点会自动切换成主节点。 mongo4后不再提供主从复制机制
搭建副本集步骤:
第一步:安装mongo 参考:Mongodb的入门(7)window安装mongodb4
cmd > mongo
默认安装成功了(mongo4的安装比3.x简单,我安装博客有部分图没截图,大家有需要的可以百度一下mongo4的安装)
注意: 到这我们就安装成功了,但是我们不会使用默认的mongo,下面来搭建副本集的准备条件
第二步: 准备副本集文件夹 cluster
在该文件夹下 创建db1 db2 db3 db1下创建db和log文件夹来保存数据和日志 db2和db3 同理
第三步,注册服务:
1 # 停止服务 2 net stop mongodb41 3 net stop mongodb42 4 net stop mongodb43 5 6 # 删除服务 7 sc delete mongodb41 8 sc delete mongodb42 9 sc delete mongodb43 10 11 # 注册服务 12 注意:--dbpath 指向v保存目录 --config 指向配置文件 暂时只是指向生成服务,授权后续会继续介绍 13 --dbpath 方式注册服务 14 mongod.exe --port 27041 --dbpath "D:\newfiber\db\mongdb\MongoDB\Server\cluster\db1\data\db" --logpath "D:\newfiber\db\mongdb\MongoDB\Server\cluster\db1\log\mongo.log" --install --serviceName "mongodb41" 15 mongod.exe --port 27042 --dbpath "D:\newfiber\db\mongdb\MongoDB\Server\cluster\db2\data\db" --logpath "D:\newfiber\db\mongdb\MongoDB\Server\cluster\db2\log\mongo.log" --install --serviceName "mongodb42" 16 mongod.exe --port 27043 --dbpath "D:\newfiber\db\mongdb\MongoDB\Server\cluster\db3\data\db" --logpath "D:\newfiber\db\mongdb\MongoDB\Server\cluster\db3\log\mongo.log" --install --serviceName "mongodb43" 17 --config 方式注册服务(不能在同一台机器上使用,服务名冲突) 18 mongod.exe --config "D:\newfiber\db\mongdb\MongoDB\Server\cluster\db1\mongod.cfg" --install --serviceName "mongodb41" --serviceDisplayName mongodb41 19 mongod.exe --config "D:\newfiber\db\mongdb\MongoDB\Server\cluster\db2\mongod.cfg" --install --serviceName "mongodb42" --serviceDisplayName mongodb42 20 mongod.exe --config "D:\newfiber\db\mongdb\MongoDB\Server\cluster\db3\mongod.cfg" --install --serviceName "mongodb43" --serviceDisplayName mongodb43 21 22 23 # 启动服务 24 net start mongodb41 25 net start mongodb42 26 net start mongodb43 27 28 29 配置主从 (mongo4之后不再支持主从) 30 31 副本集: 32 33 34 mongod.exe --port 27041 --dbpath "D:\newfiber\db\mongdb\MongoDB\Server\cluster\db1\data\db" --logpath "D:\newfiber\db\mongdb\MongoDB\Server\cluster\db1\log\mongo.log" --replSet=huhy --install --serviceName "mongodb41" 35 36 mongod.exe --port 27042 --dbpath "D:\newfiber\db\mongdb\MongoDB\Server\cluster\db2\data\db" --logpath "D:\newfiber\db\mongdb\MongoDB\Server\cluster\db2\log\mongo.log" --replSet=huhy --install --serviceName "mongodb42" 37 38 mongod.exe --port 27043 --dbpath "D:\newfiber\db\mongdb\MongoDB\Server\cluster\db3\data\db" --logpath "D:\newfiber\db\mongdb\MongoDB\Server\cluster\db3\log\mongo.log" --replSet=huhy --install --serviceName "mongodb43"
第四步:搭建副本集
1> 启动一个服务器实例,键入rs.initiate()初始化副本集; 2> 键入rs.conf()配置副本集; 3>rs.add()添加服务器进入副本集中。 rs.add(‘127.0.0.1:27041‘) rs.add(‘127.0.0.1:27042‘) rs.add(‘127.0.0.1:27043‘) 4> rs.status() 查看状态 rs.isMaster()是不是主节点 5> 重点: 副本集启动后从库是无法查询的,,我们可以通过 db.getMongo().setSlaveOk(); 修改一下,而后再查即可。 mongo3之前副本集搭建完成也是无法查询的,我们可以通过rs.slaveOk() 进行配置同步即可查询,上面是mongo4的配置
mongo3.6的副本集请参考 Mongodb的入门(6)副本集
原文地址:https://www.cnblogs.com/huhongy/p/11405379.html
时间: 2024-10-09 20:15:13