启动3个终端
$ mkdir -p ./copyMain/logs ./copyBk1/logs ./copyBk2/logs # 需要先建立文件夹 $ mongod.exe --port=27017 --replSet=copy --dbpath=./copyMain
$ mongod.exe --port=27018 --replSet=copy --dbpath=./copyBk1
$ mongod.exe --port=27019 --replSet=copy --dbpath=./copyBk2
# 连接 $ mongo.exe 127.0.0.1:27018 # 登录 slave 节点 ####### 下面的操作是在 mongodb 终端下操作的 # 编写 replSet 配置 ################## 第一个 _id 应该是 上述的 "copy" > config = { _id:"copy", members:[ ... {_id:0,host:"localhost:27017"}, ... {_id:1,host:"localhost:27018"}, ... {_id:2,host:"localhost:27019"}] ... }; #初始化 副本节点 > rs.initiate(config); # 提示 {"ok":0,...} # 初始化后 > copy:SECONDARY> rs.status() { "set" : "copy", "date" : ISODate("2017-08-30T07:35:01.690Z"), "myState" : 1, "members" : [ { "_id" : 0, "name" : "localhost:27017", "health" : 1, "state" : 5, "stateStr" : "STARTUP2", ################ 此处显示是否为 主机 "uptime" : 173, "optime" : Timestamp(0, 0), "optimeDate" : ISODate("1970-01-01T00:00:00Z"), "lastHeartbeat" : ISODate("2017-08-30T07:35:01.461Z"), "lastHeartbeatRecv" : ISODate("2017-08-30T07:35:01.628Z"), "pingMs" : 0, "configVersion" : 1 }, { "_id" : 1, "name" : "localhost:27018", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", ################ 此处显示是否为 主机 "uptime" : 1767, "optime" : Timestamp(1504078428, 1), "optimeDate" : ISODate("2017-08-30T07:33:48Z"), "electionTime" : Timestamp(1504078432, 1), "electionDate" : ISODate("2017-08-30T07:33:52Z"), "configVersion" : 1, "self" : true }, { "_id" : 2, "name" : "localhost:27019", "health" : 1, "state" : 5, "stateStr" : "STARTUP2", ################ 此处显示是否为 主机 "uptime" : 173, "optime" : Timestamp(0, 0), "optimeDate" : ISODate("1970-01-01T00:00:00Z"), "lastHeartbeat" : ISODate("2017-08-30T07:35:00.301Z"), "lastHeartbeatRecv" : ISODate("2017-08-30T07:35:00.006Z"), "pingMs" : 1, "configVersion" : 1 } ], "ok" : 1 } # 继续进入另外一个 mongo.exe 127.0.0.1:27019 $ mongo.exe 127.0.0.1:27019 > rs.status() ######### 状态值和上面的是一样的 27018 为主机