小編給大家分享一下MongoDB開啟oplog的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了儋州免費建站歡迎大家使用!
解決方案:在單實例上配置副本集,就有Oplog。
1.Linux服務(wù)器安裝Mongo
具體步驟請移駕 :https://www.jianshu.com/p/a6fc584d76e4
2.修改配置文件
# vi /etc/mongod.conf
文件末添加(yml文件注意格式)
replication: oplogSizeMB: 50 replSetName: rs
3.重啟服務(wù)
systemctl restart mongod.service
4.后續(xù)操作
4-1 登錄
# mongo
4-2 服務(wù)初始化
> show dbs
服務(wù)重啟后,第一次登入,執(zhí)行其他命令時(例如:show dbs),會提示錯誤,錯誤信息如下:
E QUERY [thread1] Error: listDatabases failed:{ "ok" : 0, "errmsg" : "not master and slaveOk=false", "code" : 13435, "codeName" : "NotMasterNoSlaveOk" }
此時需要執(zhí)行初始化命令
rs.initiate({ _id: "副本集名稱", members: [{_id:0,host:" 服務(wù)器的IP : Mongo的端口號 "}]}) 例如(對應(yīng)上述配置): rs.initiate({ _id: "rs", members: [{_id:0,host:"172.30.23.213:27017"}]})
執(zhí)行完成后提示,代表執(zhí)行成功:
{ "ok" : 1 }
4-3 初始完后
初始完,副本集中唯一的節(jié)點,可能短時間顯示為SECONDARY或OTHER。一般而言,稍等一會,就會自然恢復為primary,無需人工干預。
rs:OTHER> rs:PRIMARY> rs:PRIMARY>
5.查看結(jié)果
使用Robo3T 連接數(shù)據(jù)庫查看 local 下的 Collections
6.可能出現(xiàn)的問題
(1)初始化時,請指明 Server信息和端口信息,否則初始化時可能報錯,報錯信息如下:
原因 :沒有指定IP 和 端口,副本集名稱
"errmsg" : "No host described in new configuration 1 for replica set replwms maps to this node",
(2)如果數(shù)據(jù)庫的數(shù)據(jù)量不大,并且長時間初始這種過渡狀態(tài)(SECONDARY或OTHER),去看實例的日志,也顯示無進展,此時可以考慮重啟服務(wù)。
看完了這篇文章,相信你對mongodb開啟oplog的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!