在 Fedora 上安裝 MongoDB 伺服器
Mongo(來自 “humongous” —— 巨大的)是一個高效能、開源、無模式的、面向文件的資料庫,它是最受歡迎的 NoSQL 資料庫之一。它使用 JSON 作為文件格式,並且可以在多個伺服器節點之間進行擴充套件和複製。
|
有關許可證更改的故事
MongoDB 上游決定更改伺服器程式碼的許可證已經一年多了。先前的許可證是 GNU Affero General Public License v3(AGPLv3)。但是,上游公司寫了一個新許可證,旨在使執行 MongoDB 即服務的公司可以回饋社群。新許可證稱為 Server Side Public License(SSPLv1),關於這個舉措及其解釋的更多說明,請參見 MongoDB SSPL FAQ。
Fedora 一直只包含自由軟體。當 SSPL 釋出後,Fedora 確定它並不是自由軟體許可證。許可證更改日期(2018 年 10 月)之前釋出的所有 MongoDB 版本都可保留在 Fedora 中,但之後再也不更新的軟體包會帶來安全問題。因此,從 Fedora 30 開始,Fedora 社群決定完全移除 MongoDB 伺服器。
開發人員還有哪些選擇?
是的,還有替代方案,例如 PostgreSQL 在最新版本中也支援 JSON,它可以在無法再使用 MongoDB 的情況下使用它。使用 JSONB 型別,索引在 PostgreSQL 中可以很好地工作,其效能可與 MongoDB 媲美,甚至不會受到 ACID 的影響。
開發人員可能選擇 MongoDB 的技術原因並未隨許可證而改變,因此許多人仍想使用它。重要的是要意識到,SSPL 許可證僅更改僅針對 MongoDB 伺服器。MongoDB 上游還開發了其他專案,例如 MongoDB 工具、C 和 C++ 客戶端庫以及用於各種動態語言的聯結器,這些專案在客戶端使用(透過網路與伺服器通訊的應用中)。由於這些包的許可證人保持自由(主要是 Apache 許可證),因此它們保留在 Fedora 倉庫中,因此使用者可以將其用於應用開發。
唯一的變化實際是伺服器軟體包本身,它已從 Fedora 倉庫中完全刪除。讓我們看看 Fedora 使用者可以如何獲取非自由的包。
如何從上游安裝 MongoDB 伺服器
當 Fedora 使用者想要安裝 MongoDB 伺服器時,他們需要直接向上遊獲取 MongoDB。但是,上游不為 Fedora 提供 RPM 包。相反,MongoDB 伺服器可以獲取原始碼 tarball,使用者需要自己進行編譯(這需要一些開發知識),或者 Fedora 使用者可以使用一些相容的包。在相容的選項中,最好的選擇是 RHEL-8 RPM。以下步驟描述瞭如何安裝它們以及如何啟動守護程式。
1、使用上游 RPM 建立倉庫(RHEL-8 構建)
$ sudo cat > /etc/yum.repos.d/mongodb.repo >>EOF [mongodb-upstream] name=MongoDB Upstream Repository baseurl= gpgcheck=1 enabled=1 gpgkey= EOF
2、安裝元軟體包,來拉取伺服器和工具包
$ 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、啟動 MongoDB 守護程式
$ 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: 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 連線伺服器來驗證是否執行
$ 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 ---
就是這樣了。如你所見,RHEL-8 包完美相容,只要 Fedora 包還與 RHEL-8 相容,它就應該會一直相容。請注意,在使用時必須遵守 SSPLv1 許可證。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2682791/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 把Discord安裝在Fedora Linux上Linux
- 伺服器上安裝MongoDB小記伺服器MongoDB
- 在Red Hat和Centos上安裝MongoDBCentOSMongoDB
- Install Google Chrome on Fedora 28/27, CentOS/RHEL 7.5 (在 fedora 28 等 上 安裝 chrome)GoChromeCentOS
- linux fedora core 5上安裝字型Linux
- linux上安裝mongodbLinuxMongoDB
- 在Fedora FC5安裝vmware 5.5
- 在 Fedora 中安裝替代版本的 RPM 包
- 如何在 Ubuntu 上安裝 MongoDBUbuntuMongoDB
- 在Fedora 30系統中安裝深度DDE桌面
- 在 RHEL、CentOS 和 Fedora 上安裝 Git 及設定 Git 賬號的技巧CentOSGit
- MongoDB 在windows伺服器安裝部署與遠端訪問配置MongoDBWindows伺服器
- 在linux centos伺服器上安裝telnet命令LinuxCentOS伺服器
- 如何在 CentOS、RHEL 和 Fedora 上安裝 DHCP 服務CentOS
- Fedora16怎麼安裝Chrome?Fedora16安裝Chrome的方法教程Chrome
- 怎麼在伺服器上安裝SSL證書?伺服器證書安裝配置指南!伺服器
- mongodb 安裝MongoDB
- 安裝mongodbMongoDB
- 如何在 Fedora 30 Server 上安裝 LEMP(Linux、Nginx、MariaDB、PHP)ServerLinuxNginxPHP
- 【Python實戰】在阿里雲伺服器上安裝MongoDB,並實現遠端視覺化連線Python阿里伺服器MongoDB視覺化
- 透過mysql官網在伺服器上安裝mysqlMySql伺服器
- 第4步:在伺服器上安裝amh皮膚伺服器
- Fedora22如何安裝Adobe Flash Player?Fedora22安裝Adobe Flash Player的方法
- 在Debian上安裝freeswitch
- 在virtualbox上安裝ubuntuUbuntu
- SDL在win上安裝
- 在docker上安裝AWVSDocker
- 在Ubuntu上安裝MariaDBUbuntu
- 在CentOS上安裝GitCentOSGit
- 在Linux上安裝gskitLinux
- 在CentOS上安裝dockerCentOSDocker
- 在Windows上安裝MavenWindowsMaven
- 在centos上安裝molochCentOS
- 在Android上安裝EntwareAndroid
- 在DebianStretch上安裝FFmpeg
- MAC 安裝 MongoDBMacMongoDB
- Docker安裝mongodbDockerMongoDB
- MongoDB | Linux 安裝MongoDBLinux