在 Rocky Linux 9 中安装和配置 MongoDB
本文将介绍如何在 Rocky Linux 9 系统上安装和配置 MongoDB,以及如何使用一些基本的命令来操作数据库。
MongoDB 是一个开源的、跨平台的、面向文档的数据库,它使用 JSON 格式的文档来存储数据,支持灵活的查询和索引,以及分布式的架构和高可用性。MongoDB 是目前最流行的 NoSQL 数据库之一,广泛应用于互联网、物联网、大数据和人工智能等领域。
本文将介绍如何在 Rocky Linux 9 系统上安装和配置 MongoDB,以及如何使用一些基本的命令来操作数据库。
先决条件
在开始安装和配置 MongoDB 之前,您需要准备以下内容:
- 一台运行 Rocky Linux 9 的服务器,已经连接到互联网,并且具有
sudo
权限的用户账户。 - 一个终端程序,可以通过 SSH 或者本地登录到服务器上。
- 一个文本编辑器,可以是
vi
、nano
或者其他您喜欢的编辑器。
添加 MongoDB 仓库
由于 Rocky Linux 9 的官方仓库中没有 MongoDB 的软件包,所以我们需要先添加 MongoDB 的官方仓库,以便于后续的安装和更新。
首先,创建一个名为 mongodb-org-5.0.repo
的文件,保存在 /etc/yum.repos.d/
目录下,内容如下:
[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 5.0 版本的仓库,如果您想要使用其他版本的 MongoDB,可以参考 MongoDB 官方文档 中的说明,修改相应的仓库地址和版本号。
然后,运行以下命令,更新仓库缓存:
sudo dnf makecache
安装 MongoDB
接下来,我们可以使用 dnf
命令来安装 MongoDB 了。运行以下命令,安装 mongodb-org
软件包,以及其依赖的所有软件包:
sudo dnf install -y mongodb-org
安装完成后,您可以使用以下命令,查看 MongoDB 的版本信息:
mongod --version
您应该看到类似以下的输出:
db version v5.0.3
Build Info: {
"version": "5.0.3",
"gitVersion": "657fea5a61a74d7a79df7aff8e4bcf0bc742b748",
"openSSLVersion": "OpenSSL 1.1.1k FIPS 25 Mar 2021",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "rhel90",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
配置 MongoDB
在开始配置 MongoDB 之前,我们需要先启动 MongoDB 的服务。运行以下命令,启动 mongod
服务:
sudo systemctl start mongod
然后,运行以下命令,查看 mongod
服务的状态:
sudo systemctl status mongod
您应该看到类似以下的输出:
● mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2024-01-19 14:25:03 CST; 1min 30s ago
Docs: https://docs.mongodb.org/manual
Main PID: 1234 (mongod)
Memory: 108.2M
CGroup: /system.slice/mongod.service
└─1234 /usr/bin/mongod -f /etc/mongod.conf
Jan 19 14:25:03 rocky systemd[1]: Started MongoDB Database Server.
如果您看到 Active: active (running)
,说明 mongod
服务已经成功启动了。
接下来,我们需要为 MongoDB 设置一个初始的管理员账户,以便于后续的登录和管理。运行以下命令,连接到 MongoDB 的 shell:
mongo
您应该看到类似以下的输出:
MongoDB shell version v5.0.3
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("12345678-1234-1234-1234-123456789012") }
MongoDB server version: 5.0.3
---
The server generated these startup warnings when booting:
2024-01-19T14:25:03.123+0800: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
2024-01-19T14:25:03.456+0800: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted. You can use the `security.authorization` setting in the configuration file to enable authorization. See http://dochub.mongodb.org/core/security
---
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).
The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.
To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
>
在 >
提示符下,运行以下命令,切换到 admin
数据库:
use admin
您应该看到类似以下的输出:
switched to db admin
然后,运行以下命令,创建一个名为 admin
,密码为 password
的管理员账户:
db.createUser({user: "admin", pwd: "password", roles: ["root"]})
您应该看到类似以下的输出:
Successfully added user: {
"user" : "admin",
"roles" : [
"root"
]
}
接下来,我们需要修改 MongoDB 的配置文件,以启用身份验证和授权。退出 MongoDB 的 shell,运行以下命令:
exit
您应该看到类似以下的输出:
bye
然后,使用您喜欢的文本编辑器,打开 /etc/mongod.conf
文件,找到以下部分:
#security:
取消注释,并添加以下内容:
security:
authorization: enabled
保存并关闭文件,然后运行以下命令,重启 mongod
服务:
sudo systemctl restart mongod
至此,您已经完成了 MongoDB 的安装和配置,接下来,我们将介绍如何使用一些基本的命令来操作数据库。
操作 MongoDB
在操作 MongoDB 之前,我们需要先登录到 MongoDB 的 shell。运行以下命令,使用刚才创建的管理员账户登录:
mongo -u admin -p password --authenticationDatabase admin
您应该看到类似以下的输出:
MongoDB shell version v5.0.3
connecting to: mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("12345678-1234-1234-1234-123456789012") }
MongoDB server version: 5.0.3
>
启动和停止 MongoDB
在 Rocky Linux 9 系统上,您可以使用 systemctl
命令来控制 MongoDB 的服务,例如,如果您想要启动 mongod
服务,您可以运行以下命令:
sudo systemctl start mongod
如果您想要停止 mongod
服务,您可以运行以下命令:
sudo systemctl stop mongod
如果您想要重启 mongod
服务,您可以运行以下命令:
sudo systemctl restart mongod
如果您想要查看 mongod
服务的状态,您可以运行以下命令:
sudo systemctl status mongod
如果您想要让 mongod
服务在系统启动时自动运行,您可以运行以下命令:
sudo systemctl enable mongod
如果您想要取消 mongod
服务的自动启动,您可以运行以下命令:
sudo systemctl disable mongod
登录和退出 MongoDB
在登录 MongoDB 的 shell 之前,您需要先知道您要连接的数据库的名称、用户名、密码和认证数据库。例如,如果您想要连接到 test
数据库,使用 admin
用户名和 password
密码,认证数据库为 admin
,您可以运行以下命令:
mongo -u admin -p password --authenticationDatabase admin test
如果您不指定数据库的名称,MongoDB 会默认连接到 test
数据库。
如果您想要退出 MongoDB 的 shell,您可以运行以下命令:
exit
或者按下 Ctrl + C
组合键。
结论
本文介绍了如何在 Rocky Linux 9 系统上安装和配置 MongoDB,以及如何使用一些基本的命令来操作数据库。MongoDB 是一个功能强大的、灵活的、易于扩展的数据库,适合用于存储和处理大量的非结构化数据。如果您想要了解更多关于 MongoDB 的知识,您可以访问 MongoDB 官方网站 或者 MongoDB 官方文档。