在 Fedora 上安裝 MongoDB 服務(wù)器的方法教程
Mongo(來自 “humongous” —— 巨大的)是一個(gè)高性能、開源、無模式的、面向文檔的數(shù)據(jù)庫,它是最受歡迎的 NoSQL 數(shù)據(jù)庫之一。它使用 JSON 作為文檔格式,并且可以在多個(gè)服務(wù)器節(jié)點(diǎn)之間進(jìn)行擴(kuò)展和復(fù)制。
有關(guān)許可證更改的故事
MongoDB 上游決定更改服務(wù)器代碼的許可證已經(jīng)一年多了。先前的許可證是 GNU Affero General Public License v3(AGPLv3)。但是,上游公司寫了一個(gè)新許可證,旨在使運(yùn)行 MongoDB 即服務(wù)的公司可以回饋社區(qū)。新許可證稱為 Server Side Public License(SSPLv1),關(guān)于這個(gè)舉措及其解釋的更多說明,請(qǐng)參見 MongoDB SSPL FAQ。
Fedora 一直只包含自由軟件。當(dāng) SSPL 發(fā)布后,F(xiàn)edora 確定它并不是自由軟件許可證。許可證更改日期(2018 年 10 月)之前發(fā)布的所有 MongoDB 版本都可保留在 Fedora 中,但之后再也不更新的軟件包會(huì)帶來安全問題。因此,從 Fedora 30 開始,F(xiàn)edora 社區(qū)決定完全移除 MongoDB 服務(wù)器。
開發(fā)人員還有哪些選擇?
是的,還有替代方案,例如 PostgreSQL 在最新版本中也支持 JSON,它可以在無法再使用 MongoDB 的情況下使用它。使用 JSONB 類型,索引在 PostgreSQL 中可以很好地工作,其性能可與 MongoDB 媲美,甚至不會(huì)受到 ACID 的影響。
開發(fā)人員可能選擇 MongoDB 的技術(shù)原因并未隨許可證而改變,因此許多人仍想使用它。重要的是要意識(shí)到,SSPL 許可證僅更改僅針對(duì) MongoDB 服務(wù)器。MongoDB 上游還開發(fā)了其他項(xiàng)目,例如 MongoDB 工具、C 和 C++ 客戶端庫以及用于各種動(dòng)態(tài)語言的連接器,這些項(xiàng)目在客戶端使用(通過網(wǎng)絡(luò)與服務(wù)器通信的應(yīng)用中)。由于這些包的許可證人保持自由(主要是 Apache 許可證),因此它們保留在 Fedora 倉庫中,因此用戶可以將其用于應(yīng)用開發(fā)。
唯一的變化實(shí)際是服務(wù)器軟件包本身,它已從 Fedora 倉庫中完全刪除。讓我們看看 Fedora 用戶可以如何獲取非自由的包。
如何從上游安裝 MongoDB 服務(wù)器
當(dāng) Fedora 用戶想要安裝 MongoDB 服務(wù)器時(shí),他們需要直接向上游獲取 MongoDB。但是,上游不為 Fedora 提供 RPM 包。相反,MongoDB 服務(wù)器可以獲取源碼 tarball,用戶需要自己進(jìn)行編譯(這需要一些開發(fā)知識(shí)),或者 Fedora 用戶可以使用一些兼容的包。在兼容的選項(xiàng)中,最好的選擇是 RHEL-8 RPM。以下步驟描述了如何安裝它們以及如何啟動(dòng)守護(hù)進(jìn)程。
1、使用上游 RPM 創(chuàng)建倉庫(RHEL-8 構(gòu)建)
$ sudo cat > /etc/yum.repos.d/mongodb.repo >>EOF [mongodb-upstream] name=MongoDB Upstream Repository baseurl=https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc EOF
2、安裝元軟件包,來拉取服務(wù)器和工具包
$ sudo dnf install mongodb-org ...... Installed: mongodb-org-4.2.3-1.el8.x86_64 mongodb-org-mongos-4.2.3-1.el8.x86_64 mongodb-org-server-4.2.3-1.el8.x86_64 mongodb-org-shell-4.2.3-1.el8.x86_64 mongodb-org-tools-4.2.3-1.el8.x86_64 Complete!
3、啟動(dòng) MongoDB 守護(hù)進(jìn)程
$ sudo systemctl status mongod ● mongod.service - MongoDB Database Server Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2020-02-08 12:33:45 EST; 2s ago Docs: https://docs.mongodb.org/manual Process: 15768 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS) Process: 15769 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS) Process: 15770 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS) Process: 15771 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS) Main PID: 15773 (mongod) Memory: 70.4M CPU: 611ms CGroup: /system.slice/mongod.service
4、通過 mongo shell 連接服務(wù)器來驗(yàn)證是否運(yùn)行
$ mongo
MongoDB shell version v4.2.3
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("20b6e61f-c7cc-4e9b-a25e-5e306d60482f") }
MongoDB server version: 4.2.3
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
---
就是這樣了。如你所見,RHEL-8 包完美兼容,只要 Fedora 包還與 RHEL-8 兼容,它就應(yīng)該會(huì)一直兼容。請(qǐng)注意,在使用時(shí)必須遵守 SSPLv1 許可證。
總結(jié)
到此這篇關(guān)于在 Fedora 上安裝 MongoDB 服務(wù)器的方法教程的文章就介紹到這了,更多相關(guān)Fedora 安裝 MongoDB 服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Morphia實(shí)現(xiàn)MongoDB按小時(shí)、按天聚合操作方法
這篇文章主要介紹了基于Morphia實(shí)現(xiàn)MongoDB按小時(shí)、按天聚合操作 ,實(shí)現(xiàn)思路是啟動(dòng)定時(shí)任務(wù),對(duì)各用戶的設(shè)備狀態(tài)數(shù)據(jù)分別按照小時(shí)以及天進(jìn)行聚合,并存儲(chǔ)進(jìn)數(shù)據(jù)庫中供用戶后續(xù)查詢.需要的朋友可以參考下2019-07-07
MongoDB添加仲裁節(jié)點(diǎn)報(bào)錯(cuò):replica set IDs do not match的解決方法
這篇文章主要給大家介紹了關(guān)于MongoDB添加仲裁節(jié)點(diǎn)報(bào)錯(cuò):replica set IDs do not match的解決方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11
MongoDB多數(shù)據(jù)源配置與切換的方法示例
這篇文章主要介紹了MongoDB多數(shù)據(jù)源配置與切換的方法示例,如何在SpringBoot應(yīng)用中配置并使用兩個(gè)MongoDB數(shù)據(jù)源,包括YAML配置文件的編寫,避免默認(rèn)MongoTemplate注入,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07
MongoDB快速入門筆記(六)之MongoDB的文檔修改操作
這篇文章主要介紹了MongoDB快速入門筆記(六)之MongoDB的文檔修改操作的相關(guān)資料,需要的朋友可以參考下2016-06-06
MongoDB運(yùn)行狀態(tài)監(jiān)控、性能分析工具mongostat詳解
這篇文章主要介紹了MongoDB運(yùn)行狀態(tài)監(jiān)控、性能分析工具mongostat詳解,mongostat是mongdb自帶的狀態(tài)檢測(cè)工具,在命令行下使用,它會(huì)間隔固定時(shí)間獲取mongodb的當(dāng)前運(yùn)行狀態(tài),并輸出,本文詳細(xì)講解了它的使用,需要的朋友可以參考下2015-07-07
Mongodb中使用$each向數(shù)組字段插入多個(gè)元素的操作方法
$each操作符應(yīng)用在UPDATE操作中的$addToSet和$push操作符當(dāng)中,與$addToSet搭配使用時(shí),將數(shù)組中的多個(gè)值插入到數(shù)組字段當(dāng)中,本文給大家介紹了Mongodb中使用$each向數(shù)組字段插入多個(gè)元素的操作方法,需要的朋友可以參考下2024-06-06

