网站搜索

如何在 CentOS 8 中安装 MongoDB 4


MongoDB 是一种流行的基于文档的通用 NoSQL 数据库引擎,以 JSON 格式存储数据。它是免费和开源的,并附带一系列很酷且漂亮的功能,例如文件存储、数据复制、临时查询和负载平衡等等。一些在其应用程序中整合了 MongoDB 的蓝筹公司包括 AdobeFacebookGoogle、< eBay 和 Coinbase。

在本教程中,您将学习如何在 CentOS 8 上安装 MongoDB

第 1 步:添加 MongoDB 存储库

由于 CentOS 8 默认存储库中不存在 MongoDB,因此我们将手动添加它。首先,创建一个存储库文件,如图所示。

vi /etc/yum.repos.d/mongodb.repo

粘贴下面的配置并保存文件。

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

步骤2:在CentOS 8中安装MongoDB

启用存储库后,下一步将使用以下 dnf 命令安装 MongoDB

dnf install mongodb-org

接下来,通过运行以下命令启动并启用 MongoDB 在启动时启动。

systemctl start mongod
sudo systemctl enable mongod

要验证 MongoDB 的状态,请运行:

systemctl status mongod

或者,您可以使用 netstat 实用程序来确认 Mongod 服务确实正在侦听。

netstat -pnltu

伟大的!我们已确认 MongoDB 已启动并正在运行。

第3步:访问MongoDB Shell

现在,您只需发出以下命令即可访问 MongoDB 的 shell:

mongo

您应该得到类似的输出,如下面的屏幕截图所示。

创建 MongoDBan 管理员用户

现在让我们切换策略并创建一个管理员用户。
创建具有提升权限的管理员用户来执行提升的任务始终是个好建议。为此,首先访问 MongoDB 的 shell:

mongo

接下来,通过运行切换到数据库管理员。

> use admin

现在通过运行以下代码创建一个新的 MongoDB 用户。

> db.createUser(
 {
 user: "mongod_admin",
 pwd: "P@ssword@2019",
 roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
 }
 )

如果成功,您应该得到以下输出。

Successfully added user: {
	"user" : "mongod_admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}

要列出创建的 MongoDB 用户,请运行。

> show users

为 MongoDB 配置身份验证

事实上,所有用户都可以访问 shell 并执行任何命令,出于安全目的根本不建议这样做。考虑到这一点,我们需要为刚刚创建的admin用户创建身份验证,以防止其他用户未经授权运行命令。

要启用身份验证,请编辑 /lib/systemd/system/mongod.service 文件,在 [Service] 部分下,找到并编辑环境参数,如图所示。

Environment="OPTIONS= --auth -f /etc/mongod.conf"

保存并退出配置文件。

要使更改生效,请重新加载系统并重新启动 MongoDB

systemctl daemon-reload
systemctl restart mongod

如果您现在尝试列出未经身份验证的用户,您应该会收到如图所示的错误。

要进行身份验证,只需传递如图所示的凭据即可。

> db.auth('mongod_admin', 'P@ssword@2019')

现在您可以在此之后运行任何命令。让我们尝试再次列出用户:

> show users

这次,由于提供了身份验证凭据,一切都很顺利。

退出数据库引擎运行。

> exit

这就是今天的全部内容。我们希望现在您已经能够在 CentOS 8 系统上轻松安装 MongoDB4,并开始执行一些必要的步骤。