目錄

安裝 MongoDB

MongoDB 是最受歡迎的開源 NoSQL 資料庫管理系統之一,存儲資料以文件格式而非表格格式。由於它的彈性模式,MongoDB 提供了比 SQL 更高的可擴展性和靈活性。對於開發人員來說,這個資料庫管理系統(DBMS)因其出色的性能和與各種編程語言的兼容性而廣受青睞。

然而,對於 Ubuntu 用戶來說,在虛擬私有伺服器(VPS)主機上安裝 MongoDB 可能會稍顯挑戰,因為需要使用各種命令。在這篇文章中,我們將解釋如何在 Ubuntu 上安裝 MongoDB,以及相關的步驟,包括創建新數據庫、設置用戶和啟用遠程驗證。這些指南將幫助您順利安裝 MongoDB,並開始在您的系統中使用它。

什麼是 MongoDB ?

MongoDB 是一個極受歡迎的開源 NoSQL 資料庫管理系統,被廣泛應用於大型應用程式或網站。

與 SQL 不同,MongoDB 將數據存儲在具有彈性模式的 BSON 文件中,這導致了更高的可擴展性。它還支持各種操作系統、編程語言和框架。

在 Ubuntu 上安裝 MongoDB 的先決條件

在安裝官方 MongoDB 套件之前,請檢查您的硬體和軟體兼容性。您的 VPS 主機方案必須支援 Ubuntu,提供 SSH 連接,並提供完整的 root 訪問權限。

TAKI Cloud 的 VPS 主機提供多種 Linux 發行版,包括 Ubuntu。您可以通過前往 VPS 儀表板 → 重裝系統 → 操作系統 輕鬆安裝它。

TAKICloud VPS 點選虛擬服務器
TAKICloud VPS 點選虛擬服務器
進入主機服務介面後點選重裝系統
進入主機服務介面後點選重裝系統
重裝系統選擇 Ubuntu 並選擇版本
重裝系統選擇 Ubuntu 並選擇版本

小編建議使用最新的操作系統以確保兼容性和安全性。然而,安裝 MongoDB 在 Ubuntu 20.04 或其他版本上的步驟是相似的。

TAKI Cloud 的 VPS 主機方案還允許您通過 SSH 進行遠程連接。除了使用 PuTTY 和 Terminal 之類的應用程式外,您還可以使用我們的瀏覽器終端直接從網頁瀏覽器運行 Linux 命令。

TAKI Cloud 的 VPS 還提供完整的 root 訪問權限,允許用戶在沒有權限問題的情況下運行 MongoDB 安裝命令。

TAKI 雲端主機
TAKI 雲端主機

如何在 Ubuntu 上安裝 MongoDB

在本節中,我們將解釋如何在 Ubuntu 20.04 或其他版本上安裝 MongoDB。在繼續之前,請確保您已使用 root 或超級用戶帳戶通過 SSH 連接到您的 VPS。

1.安裝 MongoDB

在安裝 MongoDB 套件之前,請在您的命令行界面中執行以下命令下載 GnuPG 和 cURL 實用工具。

				
					sudo apt-get install gnupg curl
				
			

使用 cURL 和 GnuPG 將 MongoDB 的公開 GPG 金鑰導入,以檢索安裝套件。

				
					curl -fsSL https://pgp.mongodb.com/server-6.0.asc | sudo gpg -o /etc/apt/trusted.gpg.d//mongodb-server-6.0.gpg --dearmor
				
			

請注意,URL 取決於 MongoDB 套件的版本。在本教程中,我們將安裝 MongoDB 社區版 7.0,這是撰寫時的最新穩定版本。

在導入官方 MongoDB 套件之後,為安裝創建一個清單文件。命令根據您的 Ubuntu 版本而有所不同。對於 Ubuntu 22.04 或更新版本,請執行:

				
					echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
				
			

與此同時,在 Ubuntu 20.04 上運行以下命令以配置清單文件:

				
					echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
				
			

刷新 APT 存儲庫以同步本地套件數據庫:

				
					sudo apt update
				
			

使用 APT 套件管理系統安裝最新的穩定版本 MongoDB,請運行以下命令:

				
					sudo apt install mongodb-org
				
			

如果需要的話,您可以選擇安裝特定版本的官方 mongodb-org 套件。例如,運行以下命令來安裝 MongoDB 版本 7.0.2:

				
					sudo apt-get install -y mongodb-org=6.0 mongodb-org-database=6.0 mongodb-org-server=6.0 mongodb-mongosh=6.0 mongodb-org-mongos=6.0 mongodb-org-tools=6.0
				
			

如果您僅指定 MongoDB 版本而不包括其他組件,APT 將安裝最新的套件。

由於 APT 會自動更新組件套件,因此為了保持當前版本,您可以針對安裝進行固定。以下是命令示例:

				
					echo "mongodb-org hold" | sudo dpkg --set-selections
				
			
				
					echo "mongodb-org-server hold" | sudo dpkg --set-selections
				
			
				
					echo "mongodb-mongosh hold" | sudo dpkg --set-selections
				
			

2. 啟動 MongoDB 服務

安裝完成後,請執行以下命令以啟動 MongoDB:

				
					sudo systemctl start mongod
				
			

systemctl 命令在 MongoDB 服務管理中至關重要。例如,如果遇到錯誤,可以運行以下命令重新啟動正在運行的服務,並再次嘗試啟動資料庫管理系統(DBMS):

				
					sudo systemctl enable --now mongod
				
			

要確認 MongoDB 資料庫伺服器是否正確加載,請使用以下命令檢查其狀態:

				
					sudo systemctl status mongod
				
			

此時將輸出與以下大概的內容,可以看到狀態是active(running),表示服務很正常。

				
					mongod.service - High-performance, schema-free document-oriented database
   Loaded: loaded (/etc/systemd/system/mongod.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2021-05-09 20:40:14 CST; 2h 36min ago
 Main PID: 2910 (mongod)
   CGroup: /system.slice/mongod.service
...   
				
			

默認情況下,該服務不會在服務器啟動時自動啟動。要在服務器啟動時自動加載它,請使用以下命令啟用 MongoDB:

				
					sudo systemctl enable mongod
				
			

使用 systemctl 檢查服務狀態。如果顯示為 Enabled 而不是 Loaded,則表示 MongoDB 已準備就緒。

3.配置MongoDB

更改 MongoDB 數據庫設置的方法是修改主配置文件。該文件在安裝過程中會自動創建,可通過 /etc/mongod.conf 訪問。

使用像 nano 這樣的文本編輯器打開並修改文件。以下是命令:

				
					sudo nano /etc/mongod.conf
				
			

有幾個配置選項可以決定 MongoDB 伺服器的行為。例如,systemLog 定義了您的資料庫日誌記錄設置,而 net 則允許您修改與網絡相關的設置。

所有選項都有多個參數。例如,systemLog 選項具有 path 參數,該參數確定了默認日誌存儲位置,即 /var/log/mongodb/mongod.log。但是,您可以根據需要修改這些參數以滿足您的特定需求。

在刪除參數和選項之前,將井號(#)添加到它們之前以禁用它們是一個明智的做法。這樣做可以讓您輕鬆通過刪除該字符來重新啟用它們。

編輯配置文件後,使用以下命令重新啟動 MongoDB 以應用更改:

				
					sudo systemctl restart mongod
				
			

4.建立新的資料庫

安裝過程會自動創建 admin 資料庫。由於該資料庫通常用於存儲驗證數據等管理目的,我們建議創建一個新的資料庫。

要這樣做,請運行以下命令進入 Mongo shell:

				
					mongosh
				
			

MongoDB 使用相同的命令來創建和訪問資料庫。如果已存在指定名稱的資料庫,則 shell 將切換到該資料庫。

例如,以下命令將切換到默認資料庫,因為該名稱已存在:

				
					use admin
				
			

與此同時,在 MongoDB shell 中運行以下命令來創建 customers 資料庫:

				
					use customers
				
			

要檢查系統中的所有 MongoDB 資料庫,請運行以下命令:

				
					show dbs
				
			

5.創建新使用者

由於 MongoDB 沒有默認帳戶,您必須為每個資料庫創建一個新使用者並設置其權限。您可以使用 db.createUser() 函數來完成此操作。

例如,我們將使用完整權限創建一個新的 root MongoDB 使用者帳戶。在使用 use 命令切換到 admin 模式後,輸入以下命令:

				
					db.createUser(
  {
    user: "root",
    pwd: "AB5aOHHGBBgy5dyd",   
    roles: [ { role: "root", db: "admin" } ]
  }
)
				
			

您可以將函數寫成一行或多行。請注意大小寫,因為它在 MongoDB 中是區分大小寫的。

MongoDB 具有各種角色,例如 dbAdmin、dbOwner 和 readWrite。我們建議給予使用者帳戶最低限度的權限,以幫助避免未經授權的修改和數據訪問。

要顯示當前資料庫中的所有使用者,使用以下命令:

				
					show users
				
			

為了測試資料庫連接,請在終端中輸入 exit 命令退出 MongoDB 控制台,然後執行以下命令:

				
					mongosh --port [port] -u [username] -p '[password]' '[database]'
				
			

舉例,我們將使用預設端口 27017 連接到 root 使用者:

				
					mongosh --port 27017 -u root -p 'AB5aOHHGBBgy5dyd' 'admin'
				
			

6.啟用遠程身份驗證

預設情況下,MongoDB 允許來自主機的所有登錄。雖然這對於本地部署足夠,但在從另一台設備推送應用程序時可能會遇到問題。

要從另一個系統訪問 MongoDB,請修改 mongod.conf 文件的 bindIP 參數。它的默認值是本地 IP 地址,這意味著它拒絕除主機服務器以外的其他機器的訪問。

使用 nano 打開 mongod.conf 文件,並將您的 VPS 公共 IP 地址添加到 bindIP 參數中,如下所示:

				
					bindIP: 127.0.0.1,47.242.27.225
				
			

我們不建議將值更改為 0.0.0.0,因為允許所有系統的 IP 地址連接會將您的服務器暴露於網絡攻擊之中。

為了確保僅允許授權的使用者訪問您的資料庫,請在 security 部分下添加以下行:

				
					authorization: enabled
				
			

確保您已經刪除了 security 選項開頭的井號。按下 Ctrl + X,然後按 Y 和 Enter 保存更改。使用以下命令重新啟動 MongoDB:

				
					sudo systemctl restart mongod
				
			

在您的本地系統中安裝了 Mongo 工具後,您應該能夠通過運行以下命令語法來連接到資料庫伺服器:

				
					mongo "mongodb://user:password@ip:port/?authSource=database_name"
				
			

舉例,我們將使用 root 使用者連接到 MongoDB,並以 admin 資料庫作為驗證器。以下是命令:

				
					mongo "mongodb://root:AB5aOHHGBBgy5dyd@47.242.27.225:27017/?authSource=admin"
				
			

為了提高遠端連線的安全性,將 MongoDB 的監聽端口僅限制在本地系統的 IP 地址上。在 Ubuntu 中,您可以使用簡化防火牆(UFW)命令來實現這一點:

				
					sudo ufw allow from your_local_machine_ip_address to any port 27017
				
			

這表示防火牆僅接受來自指定 IP 地址的連接,並封鎖其他連接。

結論

MongoDB 是一款免費、開源的 NoSQL 資料庫管理系統(DBMS),在大型網站或應用程式中很受歡迎。由於它不使用固定的結構來存儲數據,因此比 SQL 更靈活和可擴展。

在本文中,我們提供了 MongoDB 在 Ubuntu 上的安裝指南。以下是總結:

  1. 安裝 MongoDB – 使用 GnuPG 和 cURL 導入官方 MongoDB 存儲庫密鑰,創建列表文件並使用 APT 軟件包管理器進行安裝。
  2. 啟動 MongoDB – 使用 systemctl 命令運行 MongoDB 實例,啟用守護進程以確保在系統啟動期間自動啟動。
  3. 設置 MongoDB – 使用文本編輯器打開 mongod.conf 配置文件,修改您的資料庫設置並重新啟動 Mongod 以應用更改。
  4. 創建新的資料庫 – 使用 mongosh 命令進入 Mongo shell,運行 use 命令創建新的 MongoDB 資料庫,或者如果指定的名稱已存在,則訪問現有資料庫。
  5. 創建新使用者 – 訪問 MongoDB shell 並輸入 db.createUser() 函數,在當前資料庫中創建新的使用者,並設置其密碼和權限。
  6. 啟用遠程身份驗證 – 修改 mongod.conf 文件的 bindIP 設置以啟用對資料庫的遠程訪問。為提高安全性,啟用 MongoDB 認證設置並使用 UFW 限制允許的 IP 地址。

如何在 Ubuntu 上安裝 MongoDB 常見問題解答

確認您的 Ubuntu 系統是否已安裝 MongoDB,只需使用 mongod --version 命令檢查其版本號。如果能夠看到 MongoDB 的版本號,那麼表示資料庫已經正確配置。

另外,您也可以輸入 mongosh 命令,檢查終端是否返回錯誤。

要卸載 MongoDB,首先停止服務,可以運行以下命令:sudo service mongod stop。接著,使用 apt purge “mongodb-org*” 命令來刪除該套件。

然後,使用 rm 命令在 /var/log/mongodb和/var/lib/mongodb 目錄中刪除數據庫和日誌文件。

MongoDB Community Edition 是免費且開源的資料庫管理解決方案的版本。而 MongoDB 是指的是企業進階版本或基於雲端的 Atlas 版本。

TAKI Cloud 雲端主機
TAKI Cloud 雲端主機 只要470元起
TAKI Cloud 實體主機 Dedicated Server
TAKI Cloud 實體主機 只要4,500起
TAKI Cloud 中華電信 主機代管 服務
TAKI Cloud 主機代管 只要2,000元起

By taki

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *