单实例MongoDB 如何开启Oplog

Posted 雅冰石

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单实例MongoDB 如何开启Oplog相关的知识,希望对你有一定的参考价值。

1.修改配置文件

# vi /data/mongo/mongod.conf

文件末添加(yml文件注意格式)

    replication:    
      replSetName: 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:"172.30.23.213:27017"])

执行完成后提示,代表执行成功:

"ok" : 1

初始完副本集中唯一的节点,可能短时间显示为SECONDARY或OTHER。一般而言,稍等一会,就会自然恢复为primary,无需人工干预。

rs:OTHER>
rs:PRIMARY>
rs:PRIMARY>

--本篇文章参考了MongoDB 单机开启 Oplog - 码农教程

以上是关于单实例MongoDB 如何开启Oplog的主要内容,如果未能解决你的问题,请参考以下文章

单台MongoDB实例开启Oplog

使用mongo shake实现单实例mongo之间的数据同步

使用mongo shake实现单实例mongo之间的数据同步

使用mongo shake实现从一个单实例mongo往多个mongo单实例进行数据同步

使用mongo shake实现从一个单实例mongo往多个mongo单实例进行数据同步

mongodb监听oplog 全量+增量同步