MongoDB 设置用户/密码以访问数据库

黄粱一梦2024-06-250

MongoDB

MongoDB是一款流行的NoSQL数据库管理系统,它允许用户以分布式、高性能和可扩展的方式存储和检索数据。

前言

为什么需要设置用户名密码? 因为互联网并不安全… 你以为的你的站并没有多大价值,但是计算机程序并不这样认为,所以即使是个人的练习也好测试也罢,数据安全永远是第一步. 之所以会有本文就是因为前不久使用mongoDB部署了一个mock网站,本来打算自己用的,也就没有想很多,图方便 数据库就直接开启了0.0.0.0 然后就悲催了…

如下图所示(没错,被勒索了)

image.png

真的就是什么数据也没了,万幸这只是一个自己刚部署上去的,所以并不要觉得自己的东西没有访问量什么的,就对数据安全嗤之以鼻,还是应该提高警惕的.当然支付支付赎金是不可能支付的.而且就算支付了,这种一般也是竹篮打水一场空,根本拿不回来的数据.

配置

1.在宝塔里面配置

首先安装在软件商店安装mongoDB之后修改配置文件绑定端口为0.0.0.0 然后将 安全认证端口打开

对应的配置文件为
image.png

image.png

在宝塔面板里面找到数据库

如下操作

image.png

这里是添加了一个demo名称的数据库
image.png

测试权限

本地使用navicat测试连接远程数据库

新建mongoDB连接如下图输入内容
image.png

2.无面板配置

  • 首先本地浏览器访问http://localhost:27017查看当前mongoDB服务是否已经开启
  • 在MongoDB中,管理员用户拥有最高级别的访问权限。我们首先需要设置一个管理员用户,以便后续创建其他用户和分配权限。要设置管理员用户,首先打开MongoDB的命令行终端或使用MongoDB的可视化工具。
  • 输入下面命令创建用户
use admin

db.createUser({
  user: 'xxxxx',    // 用户名(自定义)
  pwd: 'xxxxxxx',  // 密码(自定义)
  roles:[{
    role: 'root',   // 使用超级用户角色
    db: 'admin'     // 指定数据库
  }]
})

  • 设置完成之后使用show users命令查看是否设置完成

设置权限

找到MongoDB安装目录下的bin目录中的mongod.cfg文件,开启权限验证功能:

security:
  authorization: enabled

重启MongoDB服务
使用mongo连接数据库,并登录超级管理员账号

// 方式一
mongo
use admin
db.auth('admin', 'Abc123++')

// 方式二
mongo admin -u admin -p Abc123++

以上指令,为自定义的数据库myMongoDB创建了一个用户tao,它具有对这个数据库的读写权限。

通过以下指令进行验证使用

mongo myMongoDB -u tao -p Abc123++

分类:随笔

标签:随笔mongoDB

上一篇Nuxt3使用ant-design-vue/nuxt时候页面样式抖动下一篇SKU商品规格属性-笛卡尔乘积算法

版权声明

本文系作者 @黄粱一梦 转载请注明出处,文中若有转载的以及参考文章地址也需注明。\(^o^)/~

Preview