wondows下MongoDb複製集部署
阿新 • • 發佈:2022-03-16
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()
以上!