CentOS 8 上 MongoDB 4.2 安装教程
MongoDB 是一个免费的开源文档数据库。它属于 NoSQL 数据库家族,与传统的基于表的 SQL 数据库(如 MySQL 和 PostgreSQL) 不同。
在 MongoDB 中,数据存储在灵活的,类似于 JSON 的文档中,其中文档之间的字段可能会有所不同。它不需要预定义的架构,并且数据结构可以随时间更改。
本教程说明了如何在 CentOS 8 服务器上安装和配置 MongoDB 4.2 社区版。
安装 MongoDB
MongoDB 在 CentOS 8 核心存储库中不可用。我们将启用官方的 MongoDB 存储库并安装软件包。
在撰写本文时,可从官方 MongoDB 存储库获得的 MongoDB 的最新版本是 4.2 版。在开始安装之前,请访问 MongoDB 文档的在 Red Hat 上安装 部分,并检查是否有可用的新版本。
以 root 或具有 sudo 特权的用户执行以下步骤,以在 CentOS 8 系统上安装 MongoDB :
-
通过
mongodb-org.repo
在/etc/yum.repos.d/
目录内创建一个新的存储库文件/etc/yum.repos.d/mongodb-org.repo
来启用 MongoDB 存储库:sudo nano /etc/yum.repos.d/mongodb-org.repo
[mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
如果要安装旧版本的 MongoDB ,请使用您的首选版本替换上面文件内容中的
4.2
。 -
安装
mongodb-org
元软件包:sudo dnf install mongodb-org
在安装过程中,您将提示您导入 MongoDB GPG 密钥。输入
y
并点击Enter
。以下软件包将作为
mongodb-org
软件包的一部分安装在您的系统上:mongodb-org-server
-mongod
守护程序以及相应的初始化脚本和配置。mongodb-org-mongos
-mongos
守护进程。mongodb-org-shell
- mongo shell ,它是 MongoDB 的交互式 JavaScript 接口,用于执行命令行中的管理任务。mongodb-org-tools
- 包含几个用于导入和导出数据,统计信息以及其他实用程序的 MongoDB 工具。
-
安装完成后,启用并启动 MongoDB 服务:
sudo systemctl enable mongod --now
-
要验证安装,请连接到 MongoDB 数据库服务器并打印服务器版本:
mongo
运行以下命令以显示 MongoDB 版本:
db.version()
输出看起来像这样:
4.2.3
配置 MongoDB
MongoDB 配置文件位于 /etc
目录中 mongod.conf
。该文件为 YAML 格式。
在大多数情况下,默认配置设置已足够。但是,对于生产环境,我们建议取消对安全性部分的注释并启用授权,如下所示:
文件 /etc/mongod.conf
security:
authorization: enabled
该 authorization
选项启用了基于角色的访问控制 (RBAC) ,它可以控制用户对数据库资源和操作的访问。如果禁用此选项,则每个用户将有权访问任何数据库并执行任何操作。
对 MongoDB 配置文件进行更改后,重新启动 mongod 服务:
sudo systemctl restart mongod
有关 MongoDB 配置选项的更多信息,请访问“配置文件选项” 文档页面。
创建管理 MongoDB 用户
如果启用了 MongoDB 身份验证,则需要创建一个可以访问和管理 MongoDB 实例的管理用户。
首先,使用以下命令访问 MongoDB shell :
mongo
键入以下命令以连接到 admin
数据库:
use admin
switched to db admin
创建一个具有以下 userAdminAnyDatabase
角色的新用户 mongoAdmin
:
db.createUser(
Successfully added user: {
"user" : "mongoAdmin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
您可以根据需要命名 MongoDB 管理用户。
使用以下命令退出 mongo shell :
quit()
要测试更改,请使用先前创建的管理用户访问 mongo shell :
mongo -u mongoAdmin -p --authenticationDatabase admin
MongoDB shell version v4.2.3
Enter password:
use admin
switched to db admin
现在,使用以下命令打印用户:
show users
{
"_id" : "admin.mongoAdmin",
"user" : "mongoAdmin",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
结论
我们已经向您展示了如何在 CentOS 8 服务器上安装和配置 MongoDB 4.2 。
有关此主题的更多信息,请查阅《 MongoDB 4.2 手册》。