如何在 Ubuntu 24.04 上安装 MongoDB
Ubuntu 24.04(Noble Numbat)现已正式发布,可在任何支持的硬件上下载并安装用于生产环境。这种 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
MoviesMongoDB 只有在首次存储数据时才会创建数据库。数据可以是集合或文档。
向数据库添加数据
您可以使用 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 文档