小編給大家分享一下MongoDB開啟oplog的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了儋州免費(fèi)建站歡迎大家使用!
解決方案:在單實(shí)例上配置副本集,就有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í)行其他命令時(shí)(例如:show dbs),會(huì)提示錯(cuò)誤,錯(cuò)誤信息如下:
E QUERY [thread1] Error: listDatabases failed:{ "ok" : 0, "errmsg" : "not master and slaveOk=false", "code" : 13435, "codeName" : "NotMasterNoSlaveOk" }
此時(shí)需要執(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é)點(diǎn),可能短時(shí)間顯示為SECONDARY或OTHER。一般而言,稍等一會(huì),就會(huì)自然恢復(fù)為primary,無需人工干預(yù)。
rs:OTHER> rs:PRIMARY> rs:PRIMARY>
5.查看結(jié)果
使用Robo3T 連接數(shù)據(jù)庫查看 local 下的 Collections
6.可能出現(xiàn)的問題
(1)初始化時(shí),請指明 Server信息和端口信息,否則初始化時(shí)可能報(bào)錯(cuò),報(bào)錯(cuò)信息如下:
原因 :沒有指定IP 和 端口,副本集名稱
"errmsg" : "No host described in new configuration 1 for replica set replwms maps to this node",
(2)如果數(shù)據(jù)庫的數(shù)據(jù)量不大,并且長時(shí)間初始這種過渡狀態(tài)(SECONDARY或OTHER),去看實(shí)例的日志,也顯示無進(jìn)展,此時(shí)可以考慮重啟服務(wù)。
看完了這篇文章,相信你對mongodb開啟oplog的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!