毫不費(fèi)力!在Ubuntu上安裝MongoDB7.0的簡(jiǎn)易指南!
最近除了中國(guó)好聲音停播這個(gè)好消息外,我最近關(guān)注MongoDB 7.0,所以安裝看看有什么可以玩的新東西,基于CENTOS 的不能再用,全面轉(zhuǎn)向了ubuntu 22.04,所以這次有兩個(gè)部分的工作,
- 1 逐步熟悉ubuntu 22.04
- 2 看看MongoDB 7.0 的配置文件的變化
- 3 搭建復(fù)制集有什么區(qū)別
最后把相關(guān)開源的mongodb的配置文件貼上附帶解釋。最近的一些新的知識(shí),沒有跟上,所以對(duì)于新版本的MongoDB 的重新上路,后面會(huì)把繼續(xù)學(xué)習(xí)的部分寫成一個(gè)系列。
首先的不同點(diǎn),如果是從MongoDB 4.X ,直接來接觸MongoDB 7.0的話,第一個(gè)感受是,安裝的文件變化了,之前在安裝中,安裝包包含了MongoDB的執(zhí)行文件,客戶端的文件,還有基礎(chǔ)的工具文件,所以下載一個(gè)二進(jìn)制包就可以了,但是在7.0 不可以,你至少需要下載三個(gè)部分
- 1 MongoDB 二進(jìn)制文件包
- 2 MongoDB shell 客戶端
- 3 MongoDB Tools 工具包
所以如果要完成原有4.X 的工作,現(xiàn)在需要下載的軟件包為3個(gè)。
配置文件方面的變化
1 在systemLog 部分并未有較大的變化,需要注意從 MongoDB 4.4后,timeStampFormat 部分不再支持 ctime , 配置時(shí)需要注意默認(rèn)的值改為ISO8601-LOCAL
2 在storage 配置部分,關(guān)于journal 日志的部分的配置變更移除了storage.journal.enabled 的部分,也移除了 storage.indexBuildRetry的部分,關(guān)于 maxCacheOverflowFileSizeGB,這個(gè)選項(xiàng)也從4.4后失效了。同時(shí)關(guān)于 storage.syncPeriodSecs 部分不要進(jìn)行人工設(shè)置。
同時(shí)從MonogDB 4.4 添加了storage.oplogMinRetntionHours,通過此選項(xiàng)來設(shè)置oplog 保留的時(shí)間,這里默認(rèn)值為0 。
在storage.wiredTiger.engineConfig.JournalCompressor 從4.2 添加了zstd的壓縮模式支持,storage.wiredTiger.engineConfig.zstdCompressionlevel 可以設(shè)置壓縮的比率從1 到22 默認(rèn)壓縮的等級(jí)為 6 , 這個(gè)配置選項(xiàng)從MongoDB 5.0開始。
3 replication 項(xiàng)目中添加了 replication.enableMajorityReadConcern 選項(xiàng)從5.0開始不能在進(jìn)行變動(dòng),默認(rèn)值為 true,這里需要注意,在這選項(xiàng)中,如果你的3節(jié)點(diǎn)PSA 模式中有arbiter 節(jié)點(diǎn)的出現(xiàn),那么可能有導(dǎo)致性能的問題,所以建議在5.0 版本后,不建議使用arbiter 代替3節(jié)點(diǎn) replica.
4 Security.javascriptEnabled 通過從4.4 版本開始JAVASCRIPT 可以在系統(tǒng)中運(yùn)行或不運(yùn)行可以進(jìn)行設(shè)置。security.clusterIpSourceAllowlist 是從Mongo 5.0 提供的參數(shù),通過參數(shù)可以設(shè)置可以安全的確認(rèn)復(fù)制集,或分片中主機(jī)的地址是否是安全,防止欺騙性的加入集群的可能性。
#This is mongodb config file for replica set #systemlog file systemLog: traceAllExceptions: false quiet: false logRotate: rename destination: file logAppend: true path: /data/mongo1/mongod.log timeStampFormat: iso8601-local component: index: verbosity: 1 #storage storage: dbPath: /data/mongo1/ directoryPerDB: true wiredTiger: engineConfig: cacheSizeGB: 2 journalCompressor: zstd directoryForIndexes: true zstdCompressionLevel: 10 processManagement: fork: true timeZoneInfo: /usr/share/zoneinfo pidFilePath: /data/mongo1/mongod.pid # network interfaces net: port: 27017 bindIp: 192.168.198.100, 127.0.0.1 bindIpAll: false maxIncomingConnections: 200 wireObjectCheck: true unixDomainSocket: enabled: true pathPrefix: /tmp filePermissions: 0700 #security options security: keyFile: /data/keyfile authorization: enabled javascriptEnabled: true clusterIpSourceAllowlist: - 192.168.198.0/24 - 127.0.0.1 # enableEncrypthion only enterprise version have it replication: oplogSizeMB: 10240 replSetName: mongo7 enableMajorityReadConcern: true
除此以外在mongo4.4后關(guān)于慢查詢的部分添加了operationProfiling.filter 可以通過這個(gè)部分來過濾慢查詢語(yǔ)句,例如filter:''{op:"query",millis: {$gt:500}} ,通過過濾可以自定義一些想找到的語(yǔ)句來進(jìn)行問題的解決。
大家的過程比較簡(jiǎn)單
1 3個(gè)節(jié)點(diǎn)分別提供好相關(guān)的配置文件
2 啟動(dòng)第一個(gè)節(jié)點(diǎn),并鍵入用戶名密碼,需要管理員的權(quán)限
3 啟動(dòng)其他的節(jié)點(diǎn),并通過命令來逐一添加其他節(jié)點(diǎn)。
openssl rand -base64 768 > keyfile chmod 400 keyfile sudo dpkg -i mongodb-mongosh_1.10.5_amd64.deb sudo dpkg -i mongodb-database-tools-ubuntu2204-x86_64-100.8.0.deb
在第一次搭建的情況下,請(qǐng)先去掉復(fù)制方面的配置,否則無法添加用戶,在添加用戶后,直接執(zhí)行下方的命令,將3個(gè)節(jié)點(diǎn)標(biāo)定為復(fù)制集,然后直接初始化,即可。
然后啟動(dòng) 1 2 3 mongodb,登陸到我們剛才加入賬號(hào)的節(jié)點(diǎn)
mongosh mongodb://192.168.198.100:27017/admin -u root -p 1234.Com
config_rs= { _id:"mongo7", members:[ {_id:0,host:"192.168.198.100:27017",priority:100}, {_id:1,host:"192.168.198.100:27027",priority:80}, {_id:2,host:"192.168.198.100:27037",priority:60}]} rs.initiate(config_rs)
隨著7.0 復(fù)制集搭建完成,后續(xù)的關(guān)于7.0的研究會(huì)慢慢展開
在Ubuntu上安裝MongoDB 7.0并不是一項(xiàng)特別困難的任務(wù)。只需要花費(fèi)幾分鐘時(shí)間,您就可以安裝這個(gè)功能強(qiáng)大的NoSQL數(shù)據(jù)庫(kù)系統(tǒng)并開始使用它。在本文中,我們討論了MongoDB的重要特性以及步驟,這些步驟可以幫助您在Ubuntu系統(tǒng)中安裝MongoDB。在安裝和配置MongoDB時(shí),請(qǐng)務(wù)必按照本文中的步驟進(jìn)行操作,以確保數(shù)據(jù)庫(kù)能夠正確地運(yùn)行。通過本文中的指南,您可以使用MongoDB來管理和處理大量數(shù)據(jù),這將為您的應(yīng)用程序帶來更好的性能和可擴(kuò)展性。
到此這篇關(guān)于毫不費(fèi)力!在Ubuntu上安裝MongoDB7.0的簡(jiǎn)易指南!的文章就介紹到這了,更多相關(guān)ubuntu 上安裝 MongoDB7.0內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決MongoDB?位置查詢報(bào)錯(cuò)planner?returned?error:?unable?to?find
這篇文章主要介紹了MongoDB位置查詢報(bào)錯(cuò)planner?returned?error:?unable?to?find?index?for?$geoNear?query的解決方案,需要的朋友可以參考下2023-08-08mongodb 數(shù)據(jù)類型(null/字符串/數(shù)字/日期/內(nèi)嵌文檔/數(shù)組等)
MongoDB的文檔類似于JSON,JSON只是一種簡(jiǎn)單的表示數(shù)據(jù)的方式,只包含了6種數(shù)據(jù)類型(null、布爾、數(shù)字、字符串、數(shù)組及對(duì)象),需要的朋友可以參考下2017-04-04MongoDB錯(cuò)誤32-bit servers don''t have journaling enabled by de
這篇文章主要介紹了MongoDB錯(cuò)誤32-bit servers don't have journaling enabled by default解決方法,需要的朋友可以參考下2014-10-10MongoDB數(shù)據(jù)庫(kù)中索引(index)詳解
本文給大家詳細(xì)介紹了MongoDB數(shù)據(jù)庫(kù)中的索引的知識(shí),優(yōu)缺點(diǎn)以及使用技巧等方面,非常細(xì)致,有需要的小伙伴可以參考下2016-11-11MongoDB學(xué)習(xí)以及集群搭建的實(shí)踐全紀(jì)錄
這篇文章主要給大家介紹了關(guān)于MongoDB學(xué)習(xí)以及集群搭建的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09淺談MySQL和MariaDB區(qū)別(mariadb和mysql的性能比較)
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品2018-02-02