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数据库的安装步骤
Jun 18 MongoDB
MongoDB 常用的crud操作语句
Jun 20 MongoDB
MongoDB orm框架的注意事项及简单使用
Jun 20 MongoDB
浅析MongoDB之安全认证
Jun 26 MongoDB
常用的MongoDB查询语句的示例代码
Jul 25 MongoDB
MongoDB日志切割的三种方式总结
Sep 15 MongoDB
关于CentOS 8 搭建MongoDB4.4分片集群的问题
Oct 24 MongoDB
MongoDB使用场景总结
Feb 24 MongoDB
一次线上mongo慢查询问题排查处理记录
Mar 18 MongoDB
MongoDB误操作后使用oplog恢复数据
Apr 11 MongoDB
MongoDB支持的索引类型
Apr 11 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
shopex中集成的站长统计功能的代码简单分析
2011/08/11 PHP
PHP实现服务器状态监控的方法
2014/12/09 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
Js 时间函数getYear()的使用问题探讨
2013/04/01 Javascript
NodeJS创建基础应用并应用模板引擎
2016/04/12 NodeJs
jQuery实现的右下角广告窗体跟随效果示例
2016/09/16 Javascript
Javascript 普通函数和构造函数的区别
2016/11/05 Javascript
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
jquery.pagination.js分页使用教程
2018/10/23 jQuery
小程序显示弹窗时禁止下层的内容滚动实现方法
2019/03/20 Javascript
解决vue admin element noCache设置无效的问题
2019/11/12 Javascript
详细解读Python中解析XML数据的方法
2015/10/15 Python
scrapy爬虫完整实例
2018/01/25 Python
对python:threading.Thread类的使用方法详解
2019/01/31 Python
Python中一般处理中文的几种方法
2019/03/06 Python
关于pycharm中pip版本10.0无法使用的解决办法
2019/10/10 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
2020/01/21 Python
python的Jenkins接口调用方式
2020/05/12 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
Pycharm中如何关掉python console
2020/10/27 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
CSS3 transform的skew属性值图文详解
2014/07/21 HTML / CSS
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
澳大利亚领先的在线机械五金、园艺和存储专家:Edisons
2018/03/24 全球购物
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
2016/01/12 面试题
难忘的一天教学反思
2014/04/30 职场文书
企业安全生产演讲稿
2014/05/09 职场文书
旅游局领导班子“四风”问题对照检查材料思想汇报
2014/09/29 职场文书
2015应届毕业生求职信范文
2015/03/20 职场文书
感恩教师主题班会
2015/08/12 职场文书
运动会200米广播稿
2015/08/19 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
HashMap实现保存两个key相同的数据
2021/06/30 Java/Android
关于springboot配置druid数据源不生效问题(踩坑记)
2021/09/25 Java/Android
JS轻量级函数式编程实现XDM二
2022/06/16 Javascript