当前位置: 首页 > article >正文

mongodb给不同的库设置不同的密码进行连接

默认的数据库安装之后是没有密码的,是可以直接访问的,但是如果端口不小心暴露出去了,就会存在很大的安全隐患。本节课教大家如何给mongodb设置账号密码进行访问。

设置管理员并密码登录

查看服务

默认安装好的mongodb会自动创建好服务,如下图:我们只需找到该服务就能看到启动文件在哪里,配置文件在那了。

启动文件

我们先找到当前数据库的启动文件

打开命令

上图箭头处输入cmd即可打开命令

创建管理员账号

输入如下命令

注意:一定是bin目录下输入,

输入mongo则会自动调用bin目录下的mongo.exe文件打开数据库

use admin则表示我需要使用admin这个表,也就是超级管理员的表

db.createUser 则是创建管理员账号

mongo
use admin
db.createUser(
  {
    user: "自己的账号",
    pwd: "自己的密码",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

查看管理员账号

如果你不清楚你是否已经添加进来了,可以继续输入一下命令来查看管理员账号。

db.getUsers()
 

修改配置文件

好,有了账号密码之后,我们就需要修改配置文件了。在第一张图中--config 后面的路径就是配置文件路径。打开该文件,然后再加上如下代码,这样数据库的访问就需要密码校验了。

security:
  authorization: enabled

重启服务

找到电脑的这个服务,然后重启就可以了。

连接测试

最后用mongocompass工具或其他数据库工具连接测试即可,连接代码如下

mongodb://账号:密码@localhost:27017/?authSource=admin

设置其他库的密码

        当然这只是针对管理员的账号设置,但我们做项目的时候会创建很多的库,比如做一个图书管理系统就有一个书籍管理的库book库,电商项目就有电商的库等等。不同的项目,创建不同的库。我们不可能直接用管理员账号去连接这些库,否则一旦账号泄漏,其他的库也会跟着遭殃。所以我们还需要对不同的库,用不同的账号密码。

在宝塔中设置库密码很简单,可视化的。接下来我将教大家如何用命令来设置密码。

管理员登录

由于设置了账号密码,所以不能直接输入mongo命令即可登录了。这里需要用管理员账号来登录。

继续在这个bin目录下,用cmd命令输入一下代码

mongo -u 自己的账号 -p 自己的密码 --authenticationDatabase admin

选择自己的库

比如书籍管理book

use book

创建该库的管理员账号

代码如下。代码其实与上面的差不多,但是db这块要注意,db就是指你创建的库,而不是admin的库。

db.createUser({
  user: "新库的账号",
  pwd: "新库的密码",
  roles: [{ role: "readWrite", db: "book" }]
})

连接库

最后是用代码连接数据库,如下:

注意:这里一定要注意,authSource是指你当前的库名称,不是admin,不是admin,不是admin

mongodb://账号:密码@localhost:27017/?authSource=book


http://www.kler.cn/a/450845.html

相关文章:

  • iClient3D for Cesium在Vue中快速实现场景卷帘
  • CloudCompare下载、安装与汉化
  • acme ssl证书自动续签 nginx
  • 华为浏览器(HuaweiBrowser),简约高效上网更轻松
  • 对文件内的文件名生成目录,方便查阅
  • 突发!!!GitLab停止为中国大陆、港澳地区提供服务,60天内需迁移账号否则将被删除
  • 【SteamVR】当VR眼镜进入到SteamVR星空里面后,会自动弹出Steam商店界面的解决办法
  • 刘培超掌舵的越疆科技IPO下限定价:毛利率损伤下滑,持续亏损
  • Vulhub靶场Apache解析漏洞
  • 芯科科技蓝牙、Wi-Fi、Wi-SUN产品广获业界认可,技术创新引领行业潮流
  • 首批|云轴科技ZStack成为开放智算产业联盟首批会员单位
  • 操作系统(23)外存的存储空间的管理
  • 用Python开启人工智能之旅(三)常用的机器学习算法与实现
  • 网络安全攻防演练中的常见计策
  • 青藤入选工信部“2024年网络安全技术应用典型案例拟支持项目名单”
  • 数据冷热分离详解
  • MySql---进阶篇(1)---存储引擎的介绍与选择
  • html固定头和第一列简单例子
  • MySQL purged gtid是如何生成和维护的
  • Websocket客户端从Openai Realtime api Sever只收到部分数据问题分析
  • [OpenGL]使用TransformFeedback实现粒子效果
  • web-view在指定区域打开,不自动全屏
  • 天水月亮圈圈:舌尖上的历史与传承
  • 深度学习中,用损失的均值或者总和反向传播的区别
  • C# Main方法 和顶级语句详解
  • 【全网首发】台湾省模型数据“去水印“说明(3Dtiles和osgb格式),全台湾省的模型数据,全域无水印AI处理,支持所有模型格式