在 Fedora 中安装和配置 MongoDB

本文将介绍如何在 Fedora 系统中安装和配置 MongoDB,以及如何进行基本的数据库操作。

发布于

MongoDB 是一种流行的开源文档型数据库,它使用 JSON 格式存储数据,支持灵活的查询和索引,适用于各种规模和场景的应用开发。本文将介绍如何在 Fedora 系统中安装和配置 MongoDB,以及如何进行基本的数据库操作。

先决条件

在开始安装和配置 MongoDB 之前,您需要满足以下条件:

  • 您的系统是 Fedora 34 或更高版本。
  • 您已经安装了 dnf 包管理器,用于下载和安装 MongoDB 的软件包。
  • 您有足够的权限执行 sudo 命令,用于执行需要管理员权限的操作。

添加 MongoDB 的软件源

为了从 MongoDB 的官方网站下载和安装最新版本的 MongoDB,您需要先添加 MongoDB 的软件源到您的系统。您可以执行以下命令来完成这一步:

sudo tee /etc/yum.repos.d/mongodb-org-5.0.repo << EOF
[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
EOF

这个命令会创建一个名为 mongodb-org-5.0.repo 的文件,其中包含了 MongoDB 的软件源的信息。您可以使用 cat 命令查看这个文件的内容,确保没有错误。

安装 MongoDB

添加了 MongoDB 的软件源之后,您就可以使用 dnf 命令来安装 MongoDB 了。您可以执行以下命令来完成这一步:

sudo dnf install -y mongodb-org

这个命令会安装 MongoDB 的所有组件,包括:

  • mongodb-org-server:MongoDB 的服务器端程序,提供数据库的核心功能。
  • mongodb-org-mongos:MongoDB 的分片路由器,用于在分片集群中路由请求。
  • mongodb-org-shell:MongoDB 的命令行客户端,用于与数据库交互。
  • mongodb-org-tools:MongoDB 的一些工具,用于导入导出数据、备份恢复数据等。

配置 MongoDB

安装了 MongoDB 之后,您可以对 MongoDB 进行一些配置,以适应您的需求。MongoDB 的配置文件位于 /etc/mongod.conf,您可以使用任意的文本编辑器来修改它。以下是一些常见的配置选项:

  • storage.dbPath:指定 MongoDB 存储数据的目录,默认为 /var/lib/mongo
  • systemLog.path:指定 MongoDB 写入日志的文件,默认为 /var/log/mongodb/mongod.log
  • net.port:指定 MongoDB 监听的端口,默认为 27017
  • net.bindIp:指定 MongoDB 绑定的 IP 地址,默认为 127.0.0.1,表示只允许本地访问。如果您想让 MongoDB 可以被其他机器访问,您可以将这个值改为 0.0.0.0,或者指定一个具体的 IP 地址。
  • security.authorization:指定 MongoDB 是否启用用户认证,默认为 disabled,表示不需要用户认证。如果您想让 MongoDB 更安全,您可以将这个值改为 enabled,表示需要用户认证。但是,这样做之前,您需要先创建一个管理员用户,否则您将无法登录 MongoDB。

您可以根据您的实际情况修改这些配置选项,或者添加其他的配置选项。修改完配置文件后,您需要重启 MongoDB 服务,使配置生效。您可以执行以下命令来重启 MongoDB 服务:

sudo systemctl restart mongod

设置初始密码

如果您启用了用户认证,您需要先创建一个管理员用户,才能登录 MongoDB。您可以执行以下命令来创建一个管理员用户:

mongo --eval 'db.createUser({user: "admin", pwd: "admin123", roles: [{role: "root", db: "admin"}]})'

这个命令会在 admin 数据库中创建一个名为 admin,密码为 admin123,角色为 root 的用户。您可以根据您的喜好修改这些值,但是请记住您的用户名和密码,以便后续登录。创建了管理员用户后,您就可以使用以下命令来登录 MongoDB 了:

mongo -u admin -p admin123 --authenticationDatabase admin

这个命令会使用 admin 用户名,admin123 密码,admin 数据库来登录 MongoDB。登录成功后,您就可以执行任意的数据库操作了。

验证安装是否成功

为了验证您是否成功地安装和配置了 MongoDB,您可以执行一些简单的数据库操作,比如创建一个数据库,插入一些文档,查询一些文档等。以下是一些示例的数据库操作:

  • 创建一个名为 test 的数据库:

    use test
    
  • test 数据库中创建一个名为 users 的集合,并插入两个文档:

    db.users.insertMany([
      {name: "Alice", age: 20, gender: "female"},
      {name: "Bob", age: 22, gender: "male"}
    ])
    
  • test 数据库中查询 users 集合中的所有文档:

    db.users.find()
    
  • test 数据库中查询 users 集合中年龄大于 21 的文档:

    db.users.find({age: {$gt: 21}})
    
  • test 数据库中删除 users 集合:

    db.users.drop()
    
  • test 数据库中删除 test 数据库:

    db.dropDatabase()
    
  • 退出 MongoDB:

    exit
    

如果您能够成功地执行这些数据库操作,说明您已经成功地安装和配置了 MongoDB。

MongoDB 的操作方法

除了使用命令行客户端来操作 MongoDB 之外,您还可以使用一些命令来控制 MongoDB 的服务,比如启动、停止、重启、加载配置、查看状态等。以下是一些常用的命令:

  • 启动 MongoDB 服务:

    sudo systemctl start mongod
    
  • 停止 MongoDB 服务:

    sudo systemctl stop mongod
    
  • 重启 MongoDB 服务:

    sudo systemctl restart mongod
    
  • 加载 MongoDB 的配置文件:

    sudo systemctl reload mongod
    
  • 查看 MongoDB 服务的状态:

    sudo systemctl status mongod
    
  • 查看 MongoDB 服务的日志:

    sudo journalctl -u mongod
    
  • 开机自动启动 MongoDB 服务:

    sudo systemctl enable mongod
    
  • 取消开机自动启动 MongoDB 服务:

    sudo systemctl disable mongod
    

您可以根据您的需要使用这些命令来管理 MongoDB 的服务。

结论

本文介绍了如何在 Fedora 系统中安装和配置 MongoDB,以及如何进行基本的数据库操作和服务管理。