如何在 RHEL 8/CentOS 8 上安装 mongodb如何在 RHEL 8/CentOS 8 上安装 mongodb如何在 RHEL 8/CentOS 8 上安装 mongodb如何在 RHEL 8/CentOS 8 上安装 mongodb
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 RHEL 8/CentOS 8 上安装 mongodb

发表 admin at 2025年2月28日
类别
  • 未分类
标签
月額480円〜の高速レンタルサーバー ColorfulBox

MongoDB 是一个文档数据库,以类似 JSON 的形式存储数据,这与传统关系数据库相比是革命性的。这并不意味着 SQL 数据库很快就会消亡。当您需要存储结构化数据时,它们将长期存在。

话虽这么说,MongoDB 的用例越来越多;以可即时更改的形式存储数据的能力是必须考虑的因素。

在本教程中,我们将使用 tarball 包将此 NoSQL 数据库的最新社区版本安装到 RHEL 8/CentOS 8。为了使其顺利工作,我们将设置最小环境,并测试我们的配置和运行服务。

在本教程中您将学习:

  • 如何下载并解压 MongoDB tarball

  • 如何搭建服务环境

  • 如何管理mongod服务

  • 如何登录mongo shell,插入和查询示例数据

mongodb 中的示例查询。

如何在 RHEL 8/CentOS 8 上安装 mongodb 分步说明

我们需要在安装之前收集一个 URL。为此,我们需要访问 MongoDB 下载中心社区站点,选择操作系统和版本(在本例中为 Linux 64 位旧版,我们需要 tarball)。虽然我们提供了下载按钮,但我们还获得了下面的直接 URL,我们可以直接从目标计算机使用该 URL。

如果我们确实可以从目标访问互联网,这可以使我们免于通过浏览器下载包然后将其传输到目标计算机。因此请记下该 URL,我们很快就会使用它。

  1. 我们将二进制文件存储在 /opt 下。在目标机器上,我们进入目录:

    # cd /opt

    并通过向 wget 提供之前获取的 URL 来下载 tarball:

    # wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.5.tgz
    --2019-01-03 16:49:59--  https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.5.tgz
    Resolving fastdl.mongodb.org (fastdl.mongodb.org)... 52.222.150.27, 52.222.150.229, 52.222.150.45, ...
    Connecting to fastdl.mongodb.org (fastdl.mongodb.org)|52.222.150.27|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 73214518 (70M) [application/x-gzip]
    Saving to: 'mongodb-linux-x86_64-4.0.5.tgz'
    
    mongodb-linux-x86_64-4.0.5.tgz                     100%[================================================================================================================>]  69.82M  3.12MB/s    in 23s     
    
    2019-01-03 16:50:22 (3.06 MB/s) - 'mongodb-linux-x86_64-4.0.5.tgz' saved [73214518/73214518]
  2. 我们提取 tarball:

    # tar -zxvf mongodb-linux-x86_64-4.0.5.tgz

    并创建一个名为 mongodb 的更容易记住的符号链接,它指向提取的目录(版本号可能不同):

    # ln -s mongodb-linux-x86_64-4.0.5 mongodb
  3. 我们创建将运行名为 mongod 的服务的用户:

    # useradd mongod
  4. 我们创建 mongodb 存储数据的目录:

    # mkdir -p /var/lib/mongo
  5. 我们将 mongod 用户设置为二进制文件和数据目录的所有者:

    # chown -R mongod:mongod /opt/mongodb*
    # chown -R mongod: /var/lib/mongo
  6. 我们为 mongodb 创建一个基本配置文件。我们指定创建的数据目录,并将数据库设置为仅在本地主机上侦听默认端口 27017。我们创建文本文件 /etc/mongod.conf ,内容如下:

    storage:
      dbPath: "/var/lib/mongo"
      journal:
        enabled: true
    
    net:
      port: 27017
      bindIp: "127.0.0.1"
  7. 为了使 systemd 能够管理服务,我们使用最少的配置创建文本文件 /etc/systemd/system/mongod.service :

    [Unit]
    Description=MongoDB
    After=syslog.target network.target
    
    [Service]
    Type=simple
    
    User=mongod
    Group=mongod
    
    ExecStart=/opt/mongodb/bin/mongod --config /etc/mongod.conf
    
    [Install]
    WantedBy=multi-user.target
  8. 我们暂时将selinux 设置为permissive,因为它会阻止服务访问资源。设置 selinux 策略超出了本教程的范围。

    # setenforce 0
  9. 我们将要求 systemd 重新加载:

    systemctl daemon-reload
  10. 并检查服务是否被识别:

    # systemctl status mongod
      mongod.service - MongoDB
       Loaded: loaded (/etc/systemd/system/mongod.service; disabled; vendor preset: disabled)
       Active: inactive (dead)
  11. 我们准备启动服务:

    # systemctl start mongod
  12. 并检查其状态。如果一切顺利,我们应该看到类似以下内容:

    # systemctl status mongod
      mongod.service - MongoDB
       Loaded: loaded (/etc/systemd/system/mongod.service; disabled; vendor preset: disabled)
       Active: active (running) since Thu 2019-01-03 17:01:48 CET; 4s ago
     Main PID: 2993 (mongod)
        Tasks: 23 (limit: 12544)
       Memory: 45.3M
       CGroup: /system.slice/mongod.service
                 2993 /opt/mongodb/bin/mongod --config /etc/mongod.conf
  13. 我们可以使用 mongo shell 测试我们的服务,mongo shell 是 MongoDB 附带的命令行界面。为了能够访问它,我们需要将提取的二进制文件包含在 ` PATH 中。作为懒惰的管理员,我们只这样做一次,这是永久的方式。我们将以下行添加到 /root/.bash_profile 的最后一个“export PATH”行之前:

    ## mongodb
    PATH=$PATH:/opt/mongodb/bin

    并运行脚本:

    # . ~/.bash_profile
  14. 我们启动 mongo shell:

    # mongo
    MongoDB shell version v4.0.5
    connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
    Implicit session: session { "id" : UUID("8999342b-e313-48e6-92c4-bf6b07cee0e4") }
    MongoDB server version: 4.0.5
    Welcome to the MongoDB shell.
    For interactive help, type "help".
    [...]
    >
  15. 在 mongo shell 上,我们将询问是否存在任何数据库:

    > db
    test
  16. 并切换到已发布的 test 数据库:

    > use test
    switched to db test
  17. 我们将一些测试数据(键“x”,值为“1”)插入到动态创建的集合中:

    > db.exampleCollection.insertOne( { x: 1 } );
    {
            "acknowledged" : true,
            "insertedId" : ObjectId("5c2e33040854f2d89326ae9c")
    }
    >
  18. 最后,我们查询新集合中的所有数据,验证我们的键值对是否已成功存储:

    > db.getCollection("exampleCollection").find().pretty();
    { "_id" : ObjectId("5c2e4c2fd129ceef6a6c6112"), "x" : 1 }
    >
©2015-2025 Norria support@alaica.com