windows下MongoDb复制集部署
MongoDb复制集最少三个节点一个主一个从一个监控节点。
1:启动3个cmd
//主 mongod --port 29017 --dbpath E:\MongoDB\db29017\data --logpath E:\MongoDB\db29017\log\mongod.log --replSet rs0 //从 mongod --port 29018 --dbpath E:\MongoDB\db29018\data --logpath E:\MongoDB\db29018\log\mongod.log --replSet rs0 //监控 mongod --port 29019 --dbpath E:\MongoDB\db29019\data --logpath E:\MongoDB\db29019\log\mongod.log --replSet rs0
2:再启动3个cmd分别登录
//主 mongo --port 29017 //从 mongo --port 29018 //监控 mongo --port 29019
如此总共6个控制台
3:在29017里面操作,分别执行以下命令
//初始化 rs.initiate({"_id":"rs0",members:[{_id:0,host:"127.0.0.1:29017"},{_id:1,host:"127.0.0.1:29018"},{_id:2,host:"127.0.0.1:29019"}]}) //可以通过isMaster查看是否是主节点和使用rs.status查看状态 rs.isMaster() rs.status()
4:然后添加从节点和监控节点
//添加从节点 rs.add("127.0.0.1:29018") //添加监控节点 rs.addArb("127.0.0.1:29019")
5:将主节点服务关闭,过一会再29018上执行rs.isMaster() 、rs.status()都行会发现原先的从节点变成了主节点,而等29017回复之后会变成从节点
7:再做数据同步
主库执行:
db.userinfo.insert({"id":1,"name":"fanlin"});
然后在从库获取:
db.userinfo.find()
会发现报错
此时只需要在从库执行以下指令就行了
rs.slaveOk()
以上!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了