網站搜尋

如何在 Ubuntu 24.04 上安裝 MongoDB


Ubuntu 24.04(高貴袋熊)現已正式提供下載與安裝,可用於任何支援的硬體進行生產使用。這種 NoSQL 資料庫類型旨在提供高度的可擴展性和靈活性。MongoDB 將其資料存儲在類似 JSON 的文件結構中。即使資料包含複雜結構,也能輕鬆操作資料。MongoDB 的靈活資料格式對從事不同程式語言開發的開發者具有很大的吸引力。

終極 Ubuntu 桌面手冊

像專業人士一樣精通 Ubuntu——從美觀的桌面自訂到強大的終端自動化。非常適合希望完全掌控工作環境的開發者、系統管理員和高階用戶。

MongoDB 的一些熱門應用包括:

  • 在行動應用程式開發中
  • 物聯網中的分析數據存儲
  • 一些內容管理系統預設使用 MongoDB
  • 社交媒體應用程式的開發
  • 用於即時數據分析與處理
  • 電子商務平台建設
  • 在存儲任何類型的半結構化和非結構化數據時

在本文中,我們將在 Ubuntu 24.04 Linux 系統上安裝 MongoDB。

更新系統並添加軟體源

我們正在透過更新我們的作業系統資源庫列表來進行安裝。

sudo apt update

如果你願意,系統上所有已安裝的套件都可以更新。

sudo apt upgrade -y

對於系統上應用的任何內核更新,需要重新啟動系統。

[ -e /var/run/reboot-required ] && sudo reboot

如果系統正在重新啟動,請等它上線後再登入,然後匯入 MongoDB 儲存庫金鑰。

sudo apt install gnupg curl
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
   --dearmor

將 MongoDB 存儲庫加入到您的 Ubuntu 系統中。

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

執行以下指令以更新您的系統本地套件資料庫:

sudo apt update

確認沒有印刷錯誤。

Hit:1 https://mirror.hetzner.com/ubuntu/packages noble InRelease
Ign:2 https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 InRelease
Hit:3 https://mirror.hetzner.com/ubuntu/packages noble-updates InRelease
Hit:4 https://mirror.hetzner.com/ubuntu/packages noble-backports InRelease
Hit:5 https://mirror.hetzner.com/ubuntu/security noble-security InRelease
Get:6 https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 Release [2,090 B]
Get:7 https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 Release.gpg [866 B]
Get:8 https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0/multiverse amd64 Packages [38.7 kB]
Get:9 https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0/multiverse arm64 Packages [37.6 kB]
Fetched 79.2 kB in 2s (41.7 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.

在 Ubuntu 24.04 上安裝 MongoDB 伺服器

一旦已添加並確認儲存庫運作正常,即可在 Ubuntu 24.04 上安裝 MongoDB 伺服器。在您目前的終端機會話中,執行以下命令。

sudo apt -y install mongodb-org

透過檢查軟體版本來確認安裝是否成功。

$ mongod --version
db version v7.0.9
Build Info: {
    "version": "7.0.9",
    "gitVersion": "3ff3a3925c36ed277cf5eafca5495f2e3728dd67",
    "openSSLVersion": "OpenSSL 3.0.13 30 Jan 2024",
    "modules": [],
    "allocator": "tcmalloc",
    "environment": {
        "distmod": "ubuntu2204",
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}

MongoDB 的資料目錄是 /var/lib/mongodb,日誌則存放在 /var/log/mongodb 目錄中。

設定可以在以下檔案中自訂。

sudo vim /etc/mongod.conf

可以透過執行以下命令手動啟動服務。

sudo systemctl start mongod

重新啟動請使用:

sudo systemctl restart mongod

要停止服務,請執行:

sudo systemctl stop mongod

要確保 MongoDB 服務在系統重新啟動時自動啟動,請執行:

sudo systemctl enable mongod

使用以下方式檢查錯誤日誌:

sudo tail -f /var/log/mongodb/mongod.log

使用 MongoDB 伺服器

通過初始化 mongosh 會話開始使用 MongoDB

# mongosh
Current Mongosh Log ID:	663406e5292bc66b3a2202d7
Connecting to:		mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.2.5
Using MongoDB:		7.0.9
Using Mongosh:		2.2.5

For mongosh info see: https://docs.mongodb.com/mongodb-shell/


To help improve our products, anonymous usage data is collected and sent to MongoDB periodically (https://www.mongodb.com/legal/privacy-policy).
You can opt-out by running the disableTelemetry() command.

------
   The server generated these startup warnings when booting
   2024-05-02T21:33:22.361+00:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
   2024-05-02T21:33:23.055+00:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
------

test>

讓我們建立一個名為 Movies 的範例資料庫

test> use Movies
switched to db Movies
Movies>

檢查目前選擇的資料庫

Movies> db
Movies

MongoDB 只有在你第一次存入資料時才會建立資料庫。這些資料可以是一個集合或一個文件。

將資料添加到資料庫

你可以使用 db.collection.insert() 指令將文件新增到你的資料庫中。

Movies> db.movies.insert({name: "Dune: Part Two", year: 2024})
{
  acknowledged: true,
  insertedIds: { '0': ObjectId('66340a3690f41b1d482202da') }
}

Movies> db.movies.insert({name: "Challengers", year: 2024})
{
  acknowledged: true,
  insertedIds: { '0': ObjectId('66340a9b90f41b1d482202db') }
}

要列出所有已建立的資料庫,請使用以下指令:

Movies> show dbs
Movies  152.00 KiB
admin    40.00 KiB
config   92.00 KiB
local    40.00 KiB

使用 db.dropDatabase() 指令來刪除現有的資料庫。

Movies>  show dbs
Movies  152.00 KiB
admin    40.00 KiB
config   92.00 KiB
local    40.00 KiB

test> use Movies
switched to db Movies
Movies>

Movies> db.dropDatabase()
{ ok: 1, dropped: 'Movies' }

現在檢查資料庫清單。

Movies> show dbs
admin   40.00 KiB
config  92.00 KiB
local   40.00 KiB

我們可以確認資料庫已被刪除。

參考文件:

  • MongoDB 基礎
  • MongoDB 文件說明