centos8安装MongoDB的详细过程


Posted in MongoDB onOctober 24, 2021

MongoDB是什么:

MongoDB是一个棉线文档的开源NoSQL数据库管理系统。
MongoDB是一个开源,跨平台,面向文档的数据库管理系统。MongoDB是NoSQL(不仅是SQL)数据库软件。MongoDB使用带有模式的文档之类的JSON(JavaScript对象表示法)。MongoDB由MongoDB Inc开发,并根据SSPL(服务器端公共许可证)进行分发。

centos8中安装MongoDB yum存储库:

1.在/etc/yum.repo.d目录中创建一个回购文件,以在CentOS 8服务器中安装MongoDB yum存储库。

vim /etc/yum.repos.d/mongodb-org-4.4.repo
在此文件中添加以下配置:

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

2.为MongoDB存储库构建缓存。

dnf clean all
 dnf makecache
 dnf repolist

centos8中为MongoDB设置资源限制:

我们需要根据MongoDB软件的要求在centos8服务器中设置资源限制。
为此,为MongoDB创建资源限制配置文件,如下:

vim /etc/security/limits.d/mongod.conf
并在其中添加以下资源限制:

mongod soft nproc 64000
mongod hard nproc 64000
mongod soft nofile 64000
mongod hard nofile 64000

在centos8上安装MongoDB数据库:

1.我们可以从新添加的yum存储库在centos 8服务器上安装MongoDB:

dnf list -y mongodb-org
dnf -y install mongodb-org

2.启用并启动MongoDB数据库服务。

systemctl enable --now mongod.service

3.启动成功后,检查MongoDB的服务状态和端口监听信息。

systemctl status mongod.service

centos8安装MongoDB的详细过程

netstat -anplt|grep mongod

centos8安装MongoDB的详细过程

centos8上为MongoDB创建selinux策略:

1.如果您已将selinux配置为强制模式,则必须为MongoDB创建selinux策略。
检查当前的selinux模式:

getenforce

centos8安装MongoDB的详细过程

2.我们需要checkpolicy命令来验证自定义selinux策略,安装checkpolicy。

dnf -y install checkpolicy

3.创建一个定制的selinux策略文件。

vim mongodb_cgroup_memory.te
在文件中添加以下指令:

module mongodb_cgroup_memory 1.0;

require {
    type cgroup_t;
    type mongod_t;
    class dir search;
    class file { getattr open read };
}

#============= mongod_t ==============
allow mongod_t cgroup_t:dir search;
allow mongod_t cgroup_t:file { getattr open read };

4.编译并应用此selinux策略。

checkmodule -M -m -o mongodb_cgroup_memory.mod mongodb_cgroup_memory.te
semodule_package -o mongodb_cgroup_memory.pp -m mongodb_cgroup_memory.mod
semodule -i mongodb_cgroup_memory.pp

MongoDB中创建管理员用户:

默认情况下,MongoDB服务器重未启用访问控制,因此任何人都可以访问MongoDB服务器并执行管理操作。
所以我们需要创建一个admin用户并在MongoDB服务器中启用访问控制。
连接MongoDB shell:

mongo

centos8安装MongoDB的详细过程

连接管理数据库:

> use admin;
switched to db admin
>

创建管理员用户:

> db.createUser(
...   {
...     user: "admin",
...     pwd: "xu123",
...     roles: [ { role: "userAdminAnyDatabase",db: "admin" } ]
...   }
... )

centos8安装MongoDB的详细过程

列出MongoDB数据库中所有用户。

> show users

centos8安装MongoDB的详细过程

MongoDB服务器中启用访问控制:

最初,访问控制在MongoDB服务器中被禁用。因此,任何具有centos 8服务器操作系统级访问权限的用户都可以连接到MongoDB实例并在数据库上执行管理操作。这就是为什么我们能够在上一步中创建管理员用户而无需任何身份验证的原因。
要为MongoDB服务器启用访问控制,我们需要为MongoDB.service编辑systemd单元文件。

vim /usr/lib/systemd/system/mongod.service
在此文件中找到以下行:

Environment="OPTIONS=-f /etc/mongod.conf"
将其替换成:

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

centos8安装MongoDB的详细过程

重载systemd并重新启动MongoDB服务以更改应用

systemctl daemon-reload

systemctl restart mongod.service

要检查访问控制,连接MongoDB shell并执行一些管理命令

mongo
use admin
show users

centos8安装MongoDB的详细过程

这次“show user”命令引发身份验证错误,它确认在我们的MongoDB服务器中已启用访问控制。
现在,以管理员用户身份连接。

> db.auth("admin",passwordPrompt())
Enter password:   ###输入我们前面设置的是密码

现在,执行相同的命令,以检查其是否正常运行。

show user

centos8安装MongoDB的详细过程

已成功使用特权用户执行命令“显示用户”。

MongoDB数据库的访问控制已启用。

MongoDB数据库和日志目录:

以下是两个目录,对MongoDB数据库管理员来说非常重要。
/var/lib/mongo-数据目录(默认)
/var/log/mongodb-日志目录(默认)

我们可以通过在/etc/mongodb.conf文件中设置以下参数来自定义以上目录。
storage.dbPath-指定新的数据目录路径
systemLog.path-指定新的日志文件路径

原文连接

到此这篇关于centos8安装MongoDB的文章就介绍到这了,更多相关centos8安装MongoDB内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MongoDB 相关文章推荐
MongoDB数据库常用的10条操作命令
Jun 18 MongoDB
SpringBoot整合MongoDB的实现步骤
Jun 23 MongoDB
mongodb的安装和开机自启动详细讲解
Aug 02 MongoDB
关于CentOS 8 搭建MongoDB4.4分片集群的问题
Oct 24 MongoDB
MongoDB连接数据库并创建数据等使用方法
Nov 27 MongoDB
MongoDB使用场景总结
Feb 24 MongoDB
剖析后OpLog订阅MongoDB的数据变更就没那么难了
Feb 24 MongoDB
MongoDB支持的数据类型
Apr 11 MongoDB
Centos系统通过Docker安装并搭建MongoDB数据库
Apr 12 MongoDB
SpringBoot集成MongoDB实现文件上传的步骤
Apr 18 MongoDB
Mongodb 迁移数据块的流程介绍分析
Apr 18 MongoDB
NoSQL优缺点与MongoDB数据库简介
Jun 05 MongoDB
关于CentOS 8 搭建MongoDB4.4分片集群的问题
MongoDB日志切割的三种方式总结
Sep 15 #MongoDB
mongodb清除连接和日志的正确方法分享
Sep 15 #MongoDB
阿里云服务器部署mongodb的详细过程
Sep 04 #MongoDB
mongodb数据库迁移变更的解决方案
Sep 04 #MongoDB
mongodb的安装和开机自启动详细讲解
Aug 02 #MongoDB
常用的MongoDB查询语句的示例代码
Jul 25 #MongoDB
You might like
php程序内部post数据的方法
2015/03/31 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
javascript setTimeout()传递函数参数(包括传递对象参数)
2010/04/07 Javascript
jQuery 开发者应该注意的9个错误
2012/05/03 Javascript
js 动态加载事件的几种方法总结
2013/12/25 Javascript
js对table的td进行相同内容合并示例详解
2013/12/27 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
javascript类型转换使用方法
2014/02/08 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
2015/03/21 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
2015/05/11 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
JS判断图片是否加载完成方法汇总(最新版)
2016/05/13 Javascript
Js查找字符串中出现次数最多的字符及个数实例解析
2016/09/05 Javascript
js实现倒计时关键代码
2017/05/05 Javascript
微信小程序中多个页面传参通信的学习与实践
2017/05/05 Javascript
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
vue2.0 实现导航守卫的具体用法(路由守卫)
2018/05/17 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
2019/04/29 Javascript
vue项目中微信登录的实现操作
2020/09/08 Javascript
[27:02]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第三场
2014/05/24 DOTA
详解Python3中的Sequence type的使用
2015/08/01 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
Python any()函数的使用方法
2019/10/28 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
达拉斯牛仔官方商店:Dallas Cowboys Pro Shop
2018/02/10 全球购物
给校长的建议书400字
2014/05/15 职场文书
捐献物资倡议书范文
2014/05/19 职场文书
小学优秀班集体申报材料
2014/05/25 职场文书
法人任命书范本
2014/06/04 职场文书
创文明城市标语
2014/06/16 职场文书
校运会通讯稿
2015/07/18 职场文书
python创建字典及相关管理操作
2022/04/13 Python
MySQL数据库如何查看表占用空间大小
2022/06/10 MySQL