前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在 CentOS 8 上安装 MongoDB

如何在 CentOS 8 上安装 MongoDB

作者头像
雪梦科技
发布2020-05-11 15:05:06
4.3K0
发布2020-05-11 15:05:06
举报
文章被收录于专栏:ITCoderITCoder

MongoDB 是一个免费并且开源的文档数据库。它属于一个被称为 NoSQL 的数据库家族。NoSQL 与传统的关系型数据库不同,例如:MySQL 和 PostgreSQL。

在 MongoDB 中,数据被灵活地以类似 JSON 的形式被存储成文档。它不要求预先定义schema,并且数据结构一直都可以改变。

这个指南解释了如何在 CentOS 8 服务器上安装 和 配置 MongoDB 社区版本。

一、 安装 MongoDB

MongoDB 在 CentOS 8 核心软件源上不可用。 我们将会启用 MongoDB 官方软件源,并且安装软件包。

在写本文的时候,MongoDB 官方软件源上最新的 MongoDB 版本是 4.2。 在开始安装之前,访问 MongoDB的文档Install on Red Hat,检查一下是否有更新的发布版本。

以root 或者有 sudo 权限的用户身份执行下面的步骤,在 CentOS 8 系统上安装 MongoDB:

01.在/etc/yum.repos.d/目录下创建一个名为mongodb-org.repo的源文件,启动 MongoDB 源:

代码语言:javascript
复制
sudo nano /etc/yum.repos.d/mongodb-org.repo
代码语言:javascript
复制
[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替换成你想要的版本。

02.安装mongodb-org元软件包:

代码语言:javascript
复制
sudo dnf install mongodb-org

在安装过程中,你将会被提示插入 MongoDB GPG key。 输入y并且按Enter回车。

下面的软件包将会在你系统上安装,作为mongodb-org软件包的一部分:

  • mongodb-org-server - mongod守护进程,相应的初始化脚本和配置。
  • mongodb-org-mongos - mongos守护进程。
  • mongodb-org-shell - mongo shell,一个适用于 MongoDB 的交互式JavaScript 界面 ,主要用来通过命令行执行一些管理任务。
  • mongodb-org-tools - 包含一些 MongoDB 工具,例如:数据导入工具,数据导出工具,数据统计工具等。

03.一旦安装完成,启用并且启动 MongoDB 服务:

代码语言:javascript
复制
sudo systemctl enable mongod --now

04.想要验证安装,连接到MongoDB数据库,并且打印出服务器版本:

代码语言:javascript
复制
mongo

运行下面的命令,显示 MongoDB版本号:

代码语言:javascript
复制
db.version()

输出可能像下面这样:

代码语言:javascript
复制
4.2.3
Vultr: 免费赠送50美元
Vultr: 免费赠送50美元

二、 配置 MongoDB

MongoDB配置文件被命名为:mongod.conf,位于 /etc目录。 这个文件是YAML格式。

默认的配置适用于大部分用户场景。无论如何,对于生产环境,我们推荐打开安全章节并且启用用户鉴权: /etc/mongod.conf

代码语言:javascript
复制
security:
  authorization: enabled

这个authorization选项启用了Role-Based Access Control (RBAC),它规定了用户对数据和操作的访问规则。 如果这个选项被禁用,那么每个用户都可以访问任何数据,执行任何操作。

在对 MongoDB 配置文件做任何修改之后,重启 mongod 服务:

代码语言:javascript
复制
sudo systemctl restart mongod

想要了解关于MongoDB配置选项的信息,请浏览 配置文件选项文档页面

三、创建 MongoDB 管理员

如果你启用了 MongoDB 用户鉴权,你需要创建一个管理员用户,可以访问并且管理 MongoDB 实例。

首先,访问 MongoDB shell:

代码语言:javascript
复制
mongo

输入下面的命令,连接admin数据库:

代码语言:javascript
复制
use admin
代码语言:javascript
复制
switched to db admin

创建一个新用户,名称为mongoAdmin,赋予userAdminAnyDatabase角色:

代码语言:javascript
复制
db.createUser(
  {
    user: "mongoAdmin", 
    pwd: "changeMe", 
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
代码语言:javascript
复制
Successfully added user: {
	"user" : "mongoAdmin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}

退出 Mongo shell:

代码语言:javascript
复制
quit()

想要测试修改,使用你之前创建的管理员账号访问 mongo shell:

代码语言:javascript
复制
mongo -u mongoAdmin -p --authenticationDatabase admin
代码语言:javascript
复制
MongoDB shell version v4.2.3
Enter password:
代码语言:javascript
复制
use admin
代码语言:javascript
复制
switched to db admin

现在,打印用户:

代码语言:javascript
复制
show users
代码语言:javascript
复制
{
	"_id" : "admin.mongoAdmin",
	"user" : "mongoAdmin",
	"db" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	],
	"mechanisms" : [
		"SCRAM-SHA-1",
		"SCRAM-SHA-256"
	]
}

四、总结

我们已经向你们展示如何在你的CentOS 8 服务器上安装和配置 MongoDB 4.2。

翻阅 The MongoDB 4.2 Manual, 寻找更多关于这个主题的信息。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020年03月17日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、 安装 MongoDB
  • 二、 配置 MongoDB
  • 三、创建 MongoDB 管理员
  • 四、总结
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档