MongoDB 是一種常用的面向文檔的 NoSQL 數據庫程序。 NoSQL 一詞不僅僅指 SQL,它是一種設計數據庫的方式。 NoSQL 數據庫經過建模,以便通過文檔存儲和檢索數據,而不是使用傳統關係數據庫中使用的表格結構(表和行)。
MongoDB 是一個通用數據庫,其中數據以鍵值對的形式存儲在靈活的類似 JSON 的文檔中。所有 MongoDB 數據庫都有包含文檔的集合。這些文檔可以有不同的大小、內容和字段數。它支持可選的模式模型,因此您無需提前定義數據庫藍圖。 MongoDB 數據庫具有高度可擴展性。
面向文檔的模型使 MongoDB 非常靈活。它非常擅長負載均衡和數據複製,可以在多台服務器上運行。即使發生硬件故障,這些功能也允許系統繼續運行。以下是 MongoDB 的一些主要功能。
- 即席查詢
- 指數
- 聚合
- 負荷分配
- 垂褶系列
- 複製
如何在 CentOS 8 上安裝 MongoDB
您必須以 root 身份登錄或具有 sudo 權限才能在您的系統上安裝 MongoDB。
MongoDB 在 CentOS 8 存儲庫中默認不可用。首先,我們需要創建一個新文件並將 MongoDB 添加到我們的 CentOS 8 存儲庫。使用以下命令創建一個新文件。
sudo nano /etc/yum.repos.d/mongodb-org-5.0.repo
將以下文本複制並粘貼到上面創建的文本文件中,以便您可以直接從終端安裝 MongoDB。
[mongodb-org-5.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc
保存並關閉文件。
接下來,使用以下命令安裝 MongoDB。
sudo dnf install mongodb-org -y
上面的命令將安裝最新的穩定版本的 MongoDB。現在是5.0。 您可以通過訪問 MongoDB 官方網站查看最新版本。如果要安裝特定版本,請將文本文件中的 5.0 替換為所需版本。
要驗證安裝,請運行 MongoDB 數據庫。
mongo
通過運行以下命令檢查系統上安裝的版本:
db.version()
Output: 5.0.1
然後使用以下命令退出 shell:
exit
完成安裝過程後,使用以下命令啟動 MongoDB:
sudo systemctl start mongod
接下來,使用以下命令啟用 MongoDB 服務。
sudo systemctl enable mongod
您可以使用以下命令檢查 MongoDB 服務的狀態。
sudo systemctl status mongod

如何啟用 MongoDB 身份驗證
現在您已經在系統上成功安裝了 MongoDB,請對其進行配置以使其更安全。
MongoDB 默認禁用身份驗證。這允許任何用戶修改、創建、刪除或操作數據庫。我們建議啟用身份驗證以限制對 MongoDB 的訪問。 可以通過編輯以下配置文件來啟用 MongoDB 身份驗證:
nano /etc/mongod.conf
在您喜歡的瀏覽器中打開配置文件後,搜索#security。 通過刪除 # 符號取消註釋 Security 部分並將 Authorization: Enable 添加到以下行。 “授權:啟用”行應該縮進兩個空格。編輯後的配置文件如下所示:

保存 如果您使用的是 Nano,請使用 Ctrl+X 退出文件。將更改應用到 MongoDB 並使用以下命令重新啟動服務。
systemctl restart mongod
可以再次使用上述命令查看MongoDB服務的狀態,確認服務重啟成功。
如何為 MongoDB 創建管理員用戶
接下來,創建一個具有所有管理權限的 MongoDB 用戶 admin。創建一個新的 MongoDB 管理員用戶並首先使用以下命令訪問 MongoDB 服務:
mongo
運行以下命令以管理員身份使用該服務。
use admin
使用以下命令創建一個新用戶。
db.createUser( { user: "admin1", pwd: "pass", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ] } )
您可以替換 admin1 並傳入您的首選用戶名和密碼。

使用以下命令退出 shell。
exit
如何檢查 MongoDB 身份驗證
您無法在沒有身份驗證的情況下在 MongoDB shell 中運行命令,因為它被配置為需要身份驗證。
要檢查這一點,請打開 MongoDB 服務並嘗試運行各種命令。
show users

show dbs
在上面的示例中,由於訪問受限,沒有顯示任何輸出。
您可以使用以下命令以管理用戶身份訪問 MongoDB 服務。
mongo -u admin1 -p --authenticationDatabase admin
再次使用 show dbs 命令會得到以下輸出:
show dbs
Output: admin 0.000GB config 0.000GB local 0.000GB
結論是
MongoDB 是一個免費的開源 NoSQL 數據庫。開發人員比傳統的基於關係的數據庫具有更大的靈活性。 它將數據存儲在類似 JSON 的文檔中,使客戶端和數據庫之間的數據傳輸快速高效。
在本綜合指南中,您了解瞭如何在 CentOS 8 操作系統上安裝和配置 MongoDB。