在 Rocky Linux 9 中安装和配置 MongoDB

本文将介绍如何在 Rocky Linux 9 系统上安装和配置 MongoDB,以及如何使用一些基本的命令来操作数据库。

发布于

MongoDB 是一个开源的、跨平台的、面向文档的数据库,它使用 JSON 格式的文档来存储数据,支持灵活的查询和索引,以及分布式的架构和高可用性。MongoDB 是目前最流行的 NoSQL 数据库之一,广泛应用于互联网、物联网、大数据和人工智能等领域。

本文将介绍如何在 Rocky Linux 9 系统上安装和配置 MongoDB,以及如何使用一些基本的命令来操作数据库。

先决条件

在开始安装和配置 MongoDB 之前,您需要准备以下内容:

  • 一台运行 Rocky Linux 9 的服务器,已经连接到互联网,并且具有 sudo 权限的用户账户。
  • 一个终端程序,可以通过 SSH 或者本地登录到服务器上。
  • 一个文本编辑器,可以是 vinano 或者其他您喜欢的编辑器。

添加 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 官方文档