1.修改配置文件
# vi /data/mongo/mongod.conf
添加一行:
replSet=single
3.重启服务
# systemctl restart mongod
4.后续操作
服务重启后,第一次登入,执行其他命令时(例如:show dbs),会提示错误,错误信息如下:
E QUERY [thread1] Error: listDatabases failed:{
"ok" : 0,
"errmsg" : "not master and slaveOk=false",
"code" : 13435,
"codeName" : "NotMasterNoSlaveOk"
}
此时需要执行初始化命令:
rs.initiate({ _id: "副本集名称", members: [{_id:0,host:"服务器的IP:Mongo的端口号"}]})
例如(对应上述配置):
rs.initiate({ _id: "single", members: [{_id:0,host:"192.168.144.249:27017"}]})
执行完成后提示,代表执行成功:
{ "ok" : 1 }
初始完副本集中唯一的节点,可能短时间显示为SECONDARY或OTHER。一般而言,稍等一会,就会自然恢复为primary,无需人工干预。
rs:OTHER>
rs:PRIMARY>
rs:PRIMARY>
#验证是否生成了oplog.rs表:
--本篇文章参考了MongoDB 单机开启 Oplog - 码农教程