mongodb主從同步配置實(shí)戰(zhàn)詳細(xì)教程(建議收藏)
MongoDB主從同步
主從同步是MongoDB最常用的同步方式,也是一個(gè)簡單的數(shù)據(jù)庫同步備份的集群技術(shù),這種方式很靈活,可用于備份,故障恢復(fù),讀擴(kuò)展等。
最基本的設(shè)置方式就是建立一個(gè)主節(jié)點(diǎn)和一個(gè)或多個(gè)從節(jié)點(diǎn),每個(gè)從節(jié)點(diǎn)要知道主節(jié)點(diǎn)的地址。采用雙機(jī)備份后主節(jié)點(diǎn)掛掉以后從節(jié)點(diǎn)可以接替主機(jī)繼續(xù)服務(wù)。所以這種模式比單節(jié)點(diǎn)的高可用性要好很多。
主從同步的原理
在主從結(jié)構(gòu)中,主節(jié)點(diǎn)的操作記錄成為oplog(operation log),oplog存儲(chǔ)在一個(gè)系統(tǒng)數(shù)據(jù)庫local的集合oplog.$main中,這個(gè)集合的每個(gè)文檔都代表主節(jié)點(diǎn)上執(zhí)行的一個(gè)操作。
從服務(wù)器會(huì)定期從主服務(wù)器中獲取oplog記錄,然后在本機(jī)上執(zhí)行!對(duì)于存儲(chǔ)oplog的集合,MongoDB采用的是固定集合,也就是說隨著操作變化,新的操作會(huì)覆蓋舊的操作!
主從同步的其他設(shè)置項(xiàng)
- --only 從節(jié)點(diǎn)指定同步某個(gè)數(shù)據(jù)庫,默認(rèn)是同步全部數(shù)據(jù)庫
- --slavedelay 從節(jié)點(diǎn)設(shè)置主數(shù)據(jù)庫同步數(shù)據(jù)的延遲(單位是秒)
- --fastsync 從節(jié)點(diǎn)以主數(shù)據(jù)庫的節(jié)點(diǎn)快照為節(jié)點(diǎn)啟動(dòng)從數(shù)據(jù)庫
- --autoresync 從節(jié)點(diǎn)如果不同步則重新同步數(shù)據(jù)庫(即選擇當(dāng)通過熱添加了一臺(tái)從服務(wù)器之后,從服務(wù)器選擇是否更新主服務(wù)器之間的數(shù)據(jù))
- --oplogSize 主節(jié)點(diǎn)設(shè)置oplog的大小(主節(jié)點(diǎn)操作記錄存儲(chǔ)到local的oplog中)
配置主從同步的注意點(diǎn)
1 在數(shù)據(jù)庫集群中要明確的知道誰是主服務(wù)器,主服務(wù)器只有一臺(tái)
2 從服務(wù)器要知道自己的數(shù)據(jù)源也就是對(duì)應(yīng)的主服務(wù)器是誰
3 --master用來確定主服務(wù)器,--slave 和 --source 來控制從服務(wù)器
環(huán)境
系統(tǒng) IP 配置
CentOS 7.6 192.168.121.164 mongodb主庫
CentOS 7.6 192.168.121.133 mongodb從庫
主從配置
主庫的配置(直接復(fù)制執(zhí)行)
cat > /opt/mongodb_app/mongo_27017/conf/mongodb.conf << EOF systemLog: destination: file logAppend: true path: /opt/mongodb_app/mongo_27017/logs/mongodb.log storage: journal: enabled: true dbPath: /opt/mongodb_app/data/mongo_27017 directoryPerDB: true wiredTiger: engineConfig: cacheSizeGB: 1 directoryForIndexes: true collectionConfig: blockCompressor: zlib indexConfig: prefixCompression: true processManagement: fork: true pidFilePath: /opt/mongodb_app/mongo_27017/pid/mongod.pid net: port: 27017 bindIp: 127.0.0.1,192.168.121.164 EOF
使用--master參數(shù)啟動(dòng)主庫
/opt/mongodb_app/mongodb/bin/mongod -f /opt/mongodb_app/mongo_27017/conf/mongodb.conf --master
從庫的配置(直接復(fù)制執(zhí)行)
cat > /opt/mongodb_app/mongo_27017/conf/mongodb.conf << EOF systemLog: destination: file logAppend: true path: /opt/mongodb_app/mongo_27017/logs/mongodb.log storage: journal: enabled: true dbPath: /opt/mongodb_app/data/mongo_27017 directoryPerDB: true wiredTiger: engineConfig: cacheSizeGB: 1 directoryForIndexes: true collectionConfig: blockCompressor: zlib indexConfig: prefixCompression: true processManagement: fork: true pidFilePath: /opt/mongodb_app/mongo_27017/pid/mongod.pid net: port: 27017 bindIp: 127.0.0.1,192.168.121.133 EOF
使用--slave --source 192.168.121.164:27017參數(shù)啟動(dòng)從庫
然后進(jìn)去查看數(shù)據(jù)情況(那個(gè)新建會(huì)話是主庫)
測(cè)試主從情況
db.inventory.insertMany( [ { "item": "journal", "qty": 25, "size": { "h": 14, "w": 21, "uom": "cm" }, "status": "A" }, { "item": "notebook", "qty": 50, "size": { "h": 8.5, "w": 11, "uom": "in" }, "status": "A" }, { "item": "paper", "qty": 100, "size": { "h": 8.5, "w": 11, "uom": "in" }, "status": "D" }, { "item": "planner", "qty": 75, "size": { "h": 22.85, "w": 30, "uom": "cm" }, "status": "D" }, { "item": "postcard", "qty": 45, "size": { "h": 10, "w": 15.25, "uom": "cm" }, "status": "A" } ]);
兩邊數(shù)據(jù)是沒有問題的,至此mongodb的主從同步就完成了
我在寫這個(gè)文章的時(shí)候也有參考一些文檔,如有侵權(quán)請(qǐng)告知
到此這篇關(guān)于mongodb主從同步配置的文章就介紹到這了,更多相關(guān)mongodb主從同步配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mongo復(fù)制集同步驗(yàn)證的實(shí)例詳解
這篇文章主要介紹了mongo復(fù)制集同步驗(yàn)證的實(shí)例詳解的相關(guān)資料,這里提供實(shí)現(xiàn)的方法及示例代碼,幫助大家學(xué)習(xí)理解,需要的朋友可以參考下2017-07-07MongoDB學(xué)習(xí)筆記之GridFS使用介紹
這篇文章主要介紹了MongoDB學(xué)習(xí)筆記之GridFS使用介紹,本文介紹了GridFS的作用、GridFS的一些使用方法、GridFS實(shí)現(xiàn)原理及注意事項(xiàng)等,需要的朋友可以參考下2015-07-07一文帶你深入掌握MongoDB查詢分析的關(guān)鍵技巧
MongoDB 是一款靈活且可擴(kuò)展的NoSQL數(shù)據(jù)庫,為了提高其性能,我們可以采取一些優(yōu)化技巧,這篇文章主要給大家介紹了關(guān)于MongoDB查詢分析關(guān)鍵技巧的相關(guān)資料,需要的朋友可以參考下2024-06-06MongoDB通過查詢與游標(biāo)徹底玩轉(zhuǎn)分布式文件存儲(chǔ)
MongoDB最大的特點(diǎn)是它支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引,這篇文章主要介紹了MongoDB查詢與游標(biāo),徹底玩轉(zhuǎn)分布式文件存儲(chǔ),需要的朋友可以參考下2023-01-01MongoDB學(xué)習(xí)筆記之分組(group)使用示例
這篇文章主要介紹了MongoDB學(xué)習(xí)筆記之分組(group)使用示例,本文直接給出一組測(cè)試數(shù)據(jù),然后練習(xí)分組的基本使用,需要的朋友可以參考下2015-07-07Linux系統(tǒng)下安裝MongoDB的詳細(xì)方法圖文教程
這篇文章主要介紹了Linux系統(tǒng)下安裝MongoDB的詳細(xì)方法圖文教程,需要的朋友可以參考下2023-06-06