在CentOS 7上安装MongoDB数据库的方法步骤

 更新时间:2024年09月05日 11:23:41   作者:白如意i  
MongoDB作为一款高性能、开源的NoSQL数据库,因其灵活性和可扩展性,成为了众多开发者和企业的首选,这篇文章主要给大家介绍了关于在CentOS 7上安装MongoDB数据库的方法步骤,需要的朋友可以参考下

简介

MongoDB 是一个免费、开源的面向文档的数据库。它被归类为 NoSQL 数据库,因为它不依赖于传统的基于表的关系数据库结构。相反,它使用具有动态模式的类似 JSON 的文档。与关系数据库不同,MongoDB 在向数据库添加数据之前不需要预定义模式。您可以随时和任意次数地更改模式,而无需设置具有更新后模式的新数据库。

在本教程中,您将在 CentOS 7 服务器上安装 MongoDB 社区版。

先决条件

在按照本教程之前,请确保您拥有:

  • 一个具有非 root sudo 权限的 CentOS 7 服务器。有关指导,请参阅我们的教程《在 CentOS 7 上进行初始服务器设置》。

步骤 1 – 添加 MongoDB 仓库

mongodb-org 软件包在 CentOS 的默认仓库中不存在。但是,MongoDB 维护了一个专用的仓库。让我们将其添加到我们的服务器上。

使用 vi 编辑器,为 CentOS 的软件包管理实用程序 yum 创建一个 .repo 文件:

sudo vi /etc/yum.repos.d/mongodb-org.repo

然后,访问 MongoDB 文档的 Red Hat 安装部分,并将最新稳定版本的仓库信息添加到文件中:

[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc

通过按 ESC 键保存文件更改,然后输入 :wq,并按 ENTER 键。

在继续之前,您应该验证 MongoDB 仓库是否存在于 yum 实用程序中。repolist 命令显示已启用的仓库列表:

yum repolist
. . .
repo id                          repo name
base/7/x86_64                    CentOS-7 - Base
extras/7/x86_64                  CentOS-7 - Extras
mongodb-org-6.0/7/x86_64         MongoDB Repository
updates/7/x86_64                 CentOS-7 - Updates
. . .

有了 MongoDB Repository,您可以继续进行安装。

步骤 2 – 安装 MongoDB

您可以使用 yum 实用程序从第三方仓库安装 mongodb-org 软件包。

sudo yum install mongodb-org

会有两个 Is this ok [y/N]: 提示。第一个允许安装 MongoDB 软件包,第二个导入 GPG 密钥。MongoDB 的发布者使用密钥来确认已下载软件包的完整性。在每个提示处,输入 Y,然后按 ENTER 键。

接下来,使用 systemctl 实用程序启动 MongoDB 服务:

sudo systemctl start mongod

虽然在本教程中我们不会使用它们,但您也可以使用 reload 和 stop 命令更改 MongoDB 服务的状态。

reload 命令请求 mongod 进程读取配置文件 /etc/mongod.conf,并应用任何更改,而无需重新启动。

sudo systemctl reload mongod

stop 命令停止所有正在运行的 mongod 进程。

sudo systemctl stop mongod

在执行 start 命令后,systemctl 实用程序没有提供结果,但您可以通过使用 tail 命令查看 mongod.log 文件的末尾来检查服务是否已启动:

sudo tail /var/log/mongodb/mongod.log
. . .
[initandlisten] waiting for connections on port 27017

等待连接 的输出确认了 MongoDB 已成功启动,并且您可以使用 MongoDB Shell 访问数据库服务器:

mongo

要了解如何从 shell 与 MongoDB 交互,您可以查看 db.help() 方法的输出,该方法提供了 db 对象的方法列表。

db.help()
DB methods:
    db.adminCommand(nameOrDocument) - 切换到 'admin' 数据库,并运行命令 [ 仅调用 db.runCommand(...) ]
    db.auth(username, password)
    db.cloneDatabase(fromhost)
    db.commandHelp(name) 返回命令的帮助
    db.copyDatabase(fromdb, todb, fromhost)
    db.createCollection(name, { size : ..., capped : ..., max : ... } )
    db.createUser(userDocument)
    db.currentOp() 显示数据库中当前正在执行的操作
    db.dropDatabase()
. . .

让 mongod 进程在后台运行,但使用 exit 命令退出 shell:

exit
Bye

步骤 3 – 验证启动

由于一个依赖数据库的应用程序在没有数据库的情况下无法正常运行,我们将确保 MongoDB 守护程序 mongod 会随系统启动而启动。

使用 systemctl 实用程序来检查其启动状态:

systemctl is-enabled mongod; echo $?

输出为零表示已启用守护程序,这是我们想要的。而输出为一则表示守护程序被禁用,将不会启动。

. . .
enabled
0

如果守护程序被禁用,使用 systemctl 实用程序来启用它:

sudo systemctl enable mongod

现在你已经有一个运行中的 MongoDB 实例,它将在系统重新启动后自动启动。

步骤 4 – 导入示例数据集(可选)

与其他数据库服务器不同,MongoDB 不会在其 test 数据库中提供数据。由于我们不希望使用生产数据来尝试新软件,我们将从 MongoDB 示例中下载一个样本数据集。这个 JSON 文档包含了一组餐馆数据,我们将用它来练习与 MongoDB 的交互,并避免对敏感数据造成伤害。

首先进入一个可写目录:

cd /tmp

使用 curl 命令和 MongoDB 的链接来下载 JSON 文件:

curl -LO https://raw.githubusercontent.com/mongodb/docs-assets/primer-dataset/primer-dataset.json

mongoimport 命令将数据插入到 test 数据库中。--db 标志定义了要使用的数据库,而 --collection 标志指定了信息将被存储在数据库中的位置,--file 标志告诉命令在哪个文件上执行导入操作:

mongoimport --db test --collection restaurants --file /tmp/primer-dataset.json

输出确认了从 primer-dataset.json 文件导入数据:

connected to: localhost
imported 25359 documents

有了样本数据集,你可以对其执行查询。

重新启动 MongoDB Shell:

mongo

Shell 默认选择 test 数据库,这就是你导入数据的地方。

使用 find() 方法查询 restaurants 集合,以显示数据集中所有餐馆的列表。由于集合包含超过 25,000 条记录,使用可选的 limit() 方法将查询的输出减少到指定数量。此外,pretty() 方法通过换行和缩进使信息更易读。

db.restaurants.find().limit(1).pretty()
{
    "_id" : ObjectId("57e0443b46af7966d1c8fa68"),
    "address" : {
        "building" : "1007",
        "coord" : [
            -73.856077,
            40.848447
        ],
        "street" : "Morris Park Ave",
        "zipcode" : "10462"
    },
    "borough" : "Bronx",
    "cuisine" : "Bakery",
    "grades" : [
        {
            "date" : ISODate("2014-03-03T00:00:00Z"),
            "grade" : "A",
            "score" : 2
        },
        {
            "date" : ISODate("2013-09-11T00:00:00Z"),
            "grade" : "A",
            "score" : 6
        },
        {
            "date" : ISODate("2013-01-24T00:00:00Z"),
            "grade" : "A",
            "score" : 10
        },
        {
            "date" : ISODate("2011-11-23T00:00:00Z"),
            "grade" : "A",
            "score" : 9
        },
        {
            "date" : ISODate("2011-03-10T00:00:00Z"),
            "grade" : "B",
            "score" : 14
        }
    ],
    "name" : "Morris Park Bake Shop",
    "restaurant_id" : "30075445"
}

你可以继续使用样本数据集来熟悉 MongoDB,或者使用 db.restaurants.drop() 方法删除它:

db.restaurants.drop()

最后,使用 exit 命令退出 Shell:

exit
Bye

结论

在本教程中,你向 yum 添加了一个第三方存储库,安装了 MongoDB 数据库服务器,导入了一个样本数据集,并执行了一个简单的查询。MongoDB 还有很多其他用途,比如创建带有 collections 的数据库,填充数据库的许多 documents,以及构建强大的应用程序。要了解更多关于 MongoDB 的信息,请查看我们的系列教程《如何使用 MongoDB 管理数据库》或者我们的其他 MongoDB 教程。

到此这篇关于在CentOS 7上安装MongoDB数据库的文章就介绍到这了,更多相关CentOS 7安装MongoDB内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于MongoDB数据库核心概念

    关于MongoDB数据库核心概念

    这篇文章主要介绍了关于MongoDB数据库核心概念,MongoDB由C++语言编写,是一个基于分布式文件存储的开源数据库系统,需要的朋友可以参考下
    2023-04-04
  • MongoDB数据查询方法干货篇

    MongoDB数据查询方法干货篇

    查询操作在我们日常操作数据库的时候是必不可少的一部分,最近有些空闲时间,所有就将MongoDB数据查询的一些方法技巧总结了处理,这篇文章主要介绍了MongoDB数据查询的相关资料,需要的朋友可以参考借鉴,一起来看看吧。
    2017-05-05
  • yum源安装mongodb图文教程

    yum源安装mongodb图文教程

    本文给大家介绍的是使用yum源安装MongoDB的详细的图文教程,小伙伴们跟着教程一步步操作即可,希望大家喜欢
    2018-09-09
  • 使用aggregate在MongoDB中查询重复数据记录的方法

    使用aggregate在MongoDB中查询重复数据记录的方法

    这篇文章主要介绍了使用aggregate在MongoDB中查询重复数据记录的方法的相关资料,需要的朋友可以参考下
    2016-01-01
  • MongoDB db.serverStatus()输出内容中文注释

    MongoDB db.serverStatus()输出内容中文注释

    这篇文章主要介绍了MongoDB db.serverStatus()输出内容中文注释,本文收集了2个版本的中文注释来讲解,需要的朋友可以参考下
    2014-08-08
  • mongos崩溃后无法重启问题的解决方法

    mongos崩溃后无法重启问题的解决方法

    这篇文章主要给大家介绍了关于mongos崩溃后无法重启问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • MongoDB为什么比Mysql快原理解析

    MongoDB为什么比Mysql快原理解析

    这篇文章主要为大家介绍了MongoDB为什么比Mysql快原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • MongoDB的聚合框架Aggregation Framework入门学习教程

    MongoDB的聚合框架Aggregation Framework入门学习教程

    MongoDB中的聚合aggregate主要用于处理数据计算,这里我们就来详细整理MongoDB的聚合框架Aggregation Framework入门学习教程,需要的朋友可以参考下
    2016-07-07
  • MongoDB数据库常用28条查询语句总结

    MongoDB数据库常用28条查询语句总结

    我们经常使用的MySQL是最流行的关系型数据库管理系统,随着时代的进步,互联网的发展关系型数据库已经不满足于互联网的需求,因此出现了非关系数据库,下面这篇文章主要给大家总结介绍了关于MongoDB数据库常用28条查询语句,需要的朋友可以参考下
    2023-05-05
  • MongoDB的基本安装与管理命令脚本总结

    MongoDB的基本安装与管理命令脚本总结

    MongoDB是一款高人气的NoSQL数据库,且以JavaScript代码作为脚本进行操作,对开发者非常友好,这里我们就来看一下MongoDB的基本安装与管理命令脚本总结
    2016-07-07

最新评论