MongodDB实现用户名密码远程登录的配置步骤

news/2024/9/23 10:04:52/

1. 引入

根据参考1,在CentOS7上搭建了MongodDB6.0。
搭建后,参考2中的步骤,进行配置,就能使用mongosh命令来连接mongo,也可以实现远程登录。
但是,此时不需要密码,就能连接上MongoDB,这是不安全的行为。
那如何实现根据用户名密码才能远程连接某个特定的数据库呢?下面给出具体的配置步骤。

2. 配置步骤

注意,在做下面这一系列配置之前,一定要参考2,配置好 bindIp: 0.0.0.0,关闭防火墙,关闭selinux。实现远程连接MongoDB后,才能进行如下配置。

  1. 对某个数据库增加用户名和密码

使用mongosh命令,连接上mongo,再按照如下步骤,就能对数据库(aaa)增加用户名和密码。

$ mongoshadmin> use aaa
switched to db aaa
aaa> db.auth('youruname','yourpasswd')
MongoServerError: Authentication failed.
aaa> db.createUser({user:"youruname", pwd:"yourpasswd", roles:["readWrite","dbAdmin"]})
{ ok: 1 }
aaa> db.auth('youruname','yourpasswd')
{ ok: 1 }

可以看到,第一次db.auth()失败,是因为还没有为这个数据库(aaa)增加用户名和密码。使用db.createUser()后,第二次db.auth()就成功了。

  1. 在MongodDB的配置文件中增加如下配置

首先打开配置文件:

$ sudo vim /etc/mongod.conf

然后加入如下两行配置,这就是

security:authorization: enabled

这个配置是针对MongoDB的,它启用了MongoDB的权限认证。这意味着你可以对数据库设置用户角色和权限,以控制谁能对数据库进行何种操作。这对于保证数据的安全性非常重要。在默认情况下,MongoDB的权限认证是关闭的,因此在配置MongoDB时,根据你的需求选择开启或关闭它。

  1. 重启MongodDB
$ sudo service mongod restart

3. 总结

以上步骤允许了MongoDB的远程连接,并为这些连接提供了用户名和密码认证。

4. 参考

  1. https://www.digitalocean.com/community/tutorials/how-to-install-mongodb-on-centos-7
  2. https://blog.csdn.net/ybdesire/article/details/99709480

http://www.ppmy.cn/news/1463689.html

相关文章

OpenCV学习(2.1) 初识图像

1.图像对象 图像是由一个个像素组成的,像素越多,体现到图像就是更加清晰,有更多的细节。举个例子,通常来说的分辨率,1080P,720P,480P就是指像素的数量,数量越多就越清晰。 2.打印图…

pip安装报错解决之后,手动安装太麻烦,怎么办

在使用pip install package_name安装公共库的时候,经常会报错: Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Users\Administrator>pip install hatch WARNING: Ignoring invalid distribution -ip (d:\soft\python\py…

日拱一卒,功不唐捐

"日拱一卒,功不唐捐"是一句富有哲理的成语,源自中国的文化背景,结合了象棋术语和佛家理念,具有深刻的寓意。 日拱一卒:这里的“卒”指的是中国象棋中的兵(或卒),按照规则…

初级爬虫的总结一

初级爬虫的总结一之百度网页爬虫 一、寻找正确的sugrec二、url拼接出问题,解决办法 我遇到的问题: 1、没有找对网页sugrec,导致connect-type没有找对,以及一些小问题 2、url拼接时候出现乱码 一、寻找正确的sugrec 1、打开百度网…

组合惯导串口数据解析

首先是给串口usb以权限: sudo chmod 666 /dev/ttyUSB0但是不能每次启动都执行一次,所以需要给一个永久的权限指令: sudo gedit /etc/udev/rules.d/70-ttyusb.rulesKERNEL“ttyUSB[0-9]*”, MODE“0666”然后就能让ttyUSB0-ttyUSB9默认的权限…

常用目标检测预训练模型大小及准确度比较

目标检测是计算机视觉领域中的一项重要任务,旨在检测和定位图像或者视频中的目标对象。当人类观看图像或视频时,我们可以在瞬间识别和定位感兴趣的对象。目标检测的目标是使用计算机复制这种智能。 近年来,目标检测网络的发展日益成熟&#…

C语言从头学12——流程控制(一)

C语言程序的执行顺序是从前到后依次序执行的。如果想要控制程序执行的流程,就必须使用 流程控制的语法结构,分为条件执行和循环执行。 1、if语句 if 语句在前面的举例中曾经出现过,这里做详细介绍。该语句用于条件判断,满…

【译】MySQL复制入门: 探索不同类型的MySQL复制解决方案

原文地址:An Introduction to MySQL Replication: Exploring Different Types of MySQL Replication Solutions 在这篇博文中,我将深入介绍 MySQL 复制,回答它是什么、如何工作、它的优势和挑战,并回顾作为 MySQL 环境&#xff0…