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