mongo4.0事務使用記錄(一):mongo4.0的複製集搭建

好久沒寫過一丟丟東西了,在工作中學了不少東西,最讓我揪心的也就是mongo4.0事務的學習和應用了。當然目前仍然是小白一個,需要不斷的努力和學習,現在只是單純記錄下自己的學習過程…

複製集的搭建

mongo4.0版本支持複製集,mongo4.2版本支持分佈式。目前項目使用的數據庫版本是4.0,因此我的學習也是基於4.0版本。
我是參考兜_兜這位博主的操作過程,但還是想簡單將自己的過程寫下來。
以下one中的內容轉自兜_兜博文裏面的內容:

One 預備工作

1.MongoDB需要4.0版本+

2.需要自己搭建MongoDB複製集,單個mongodb server 不支持事務。

事務原理:mongodb的複製至少需要兩個節點。其中一個是主節點,負責處理客戶端請求,其餘的都是從節點,負責複製主節點上的數據。mongodb各個節點常見的搭配方式爲:一主一從、一主多從。主節點記錄在其上的所有操作oplog,從節點定期輪詢主節點獲取這些操作,然後對自己的數據副本執行這些操作,從而保證從節點的數據與主節點一致。

3.搭建複製集步驟

啓動mongo主節點實例,bin目錄下命令窗口執行,複製集命名 --replSet 自定義, 8080端口的數據庫文件的目錄文件可以自行設定,–dbpath=路徑寫自己的,啓動後勿關閉命令窗口

eg:mongod --replSet doudou --dbpath=E:\mongoDb\data\db1 --port=8080  

啓動mongo從節點實例,bin目錄下命令窗口執行,複製集與主節點相同,8081端口的數據庫文件的目錄文件可以自行設定,–dbpath=路徑寫自己的,啓動後勿關閉命令窗口

eg:mongod --replSet doudou --dbpath=E:\mongoDb\data\db2 --port=8081

兩個節點啓動後,bin目錄下打開命令窗口,連接主節點

eg:mongo --port=8080

成功後如圖:
在這裏插入圖片描述
命令初始化:rs.initiate()
效果如圖:
成功的結果是(ok項是1,失敗是0)
成功的結果是(ok項是1,失敗是0)

查看是否是主節點:rs.isMaster()
查看複製集狀態: rs.status()
初始化配置:rs.conf()
向主節點添加從節點:rs.add("localhost:8081")
查看主節點狀態:rs.status()
複製集配置完成。

Two 啓動

以自己的啓動方式爲例,在mongo軟件的bin目錄下啓動三個命令框(當然啦,如果您將mongo配置了全局變量,直接win + r --> cmd,然後直接輸命令就行了),然後依次輸入:
每個都不能關閉!!!!

eg:
mongod --replSet mongo --dbpath D:\MongoDB\data\db1 --port=8081
mongod --replSet mongo --dbpath D:\MongoDB\data\db2 --port=8082
mongo --port=8081

結果如下:
在這裏插入圖片描述
如果顯示mongo:SECONDERY>

  • 輸入rs.isMaster(),如果顯示成了mongo:PRIMARY>,則啓動成功
  • 若顯示還是mongo:SECONDERY>,請把這個命令窗口關掉,過一會重新打開輸入第三個命令
  • 若顯示還是mongo:SECONDERY>,請將第二個命令窗口也關掉,過一會重新打開輸入第二個命令,再過一會啓動另一個命令窗口輸入第三個命令

疑惑:難道是和mongo的啓動鏈接時間有關???? 求解答

到此爲止,mongo數據庫的複製集就可以使用了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章