MongoDB 是一個免費提供的文檔數據庫。它是開源的,屬於 NoSQL 數據庫家族,與 PostgreSQL 和 MySQL 等傳統數據庫有很大不同。 以 JSON 文檔等靈活格式存儲在 MongoDB 中的數據。 MongoDB 不需要預定義的數據結構或表模式。
本教程詳細介紹瞭如何在 CentOS 8 上安裝和配置 MongoDB 數據庫應用程序。
先決條件
所有命令都必須以 root 用戶身份運行。
在 CentOS 8 上安裝 MongoDB
默認的 CentOS 8 存儲庫中不存在 MongoDB 軟件包。要安裝相關軟件包,您需要在您的系統上啟用官方 MongoDB 存儲庫。 MongoDB 版本 4.2.12 是本文詳述的最新版本。因此,您也可以在開始安裝之前搜索最新的 MongoDB 版本。打開終端窗口並安裝 MongoDB 數據庫。在那裡,單擊左側邊欄應用程序菜單中的終端圖標。
您需要按照以下步驟以 root 用戶身份在 CentOS 8 系統上安裝和配置 MongoDB:
第 1 步:啟用 MongoDB 存儲庫
在 /etc/yum.repos.d/ 目錄中創建一個名為 MongoDB-org.repo 的新存儲庫文件以啟用 MongoDB 存儲庫。
$ sudo nano /etc/yum.repos.d/mongodb-org.repo
將以下代碼粘貼到此文件中。
[mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
要安裝其他版本的 MongoDB,只需將 4.2 實例替換為您的版本即可。
第 2 步:安裝 MongoDB 組織包
使用以下命令安裝以下元包:
$ sudo dnf install mongodb-org
運行上述命令將安裝各種包以及 MongoDB,包括 mongodb-org-server、mongodb-org-mongos、mongodb-org-shell 和 mongodb-org-tools。 按“y”繼續安裝這些軟件包,然後按“Enter”。再次按“y”,MongoDB GPG 密鑰將成功導入您的系統。
第 3 步:啟動 MongoDB 服務
安裝好MongoDB後,運行以下命令啟動MongoDB服務,查看當前服務狀態:
$ sudo systemctl enable mongod --now
$ sudo systemctl status mongod
要檢查安裝的版本,請運行以下命令連接到 MongoDB 服務器:
$ mongo
然後在 MongoDB shell 中運行以下命令:
db.version()
shell 中顯示的已安裝版本如下面的屏幕截圖所示。
MongoDB 配置
默認配置通常就足夠了。但是,在大多數情況下,如果您在生產環境中工作,則應在 /etc/mongod.conf 文件中更改以下配置,如下所示:
$ sudo nano /etc/mongod.conf
找到安全部分並取消註釋此部分。啟用基於角色的用戶訪問授權選項。
security:
authorization: enabled
更改配置後,鍵入以下命令重新啟動 MongoDB 服務:
$ sudo systemctl restart mongod
在 MongoDB 中創建管理員用戶
如果您啟用了身份驗證選項,請訪問 MongoDB shell 提示符,如下所示:
$ mongo
現在在 admin 中使用 MongoDB shell 的數據庫如下所示:
> use admin
現在創建一個具有合適名稱的管理員用戶並設置以下角色:
db.createUser( > { user: "mongoAdmin", pwd: "mpaswrd", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
以下輸出顯示在 MongoDB shell 中。
使用以下命令退出 shell:
> quit()
您可以以上面創建的管理員用戶身份訪問 MongoDB shell。
$ mongo -u mongoAdmin -p --authenticationDatabase admin
輸入密碼並切換到管理數據庫如下:
> use admin
使用以下命令列出所有用戶:
> show users
以下結果顯示在終端中。
結論是
在本文中,我們介紹了在 CentOS 8 系統上安裝 MongoDB。有關如何使用它的詳細信息,請參閱 MongoDB 文檔。在評論中讓我知道您的問題。謝謝你!