前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >零基础学习MongoDB (三)—— 管理用户

零基础学习MongoDB (三)—— 管理用户

作者头像
小丞同学
发布2021-08-16 16:15:10
2630
发布2021-08-16 16:15:10
举报
文章被收录于专栏:小丞前端库

零基础学习MongoDB (三)—— 管理用户

mongo3
mongo3

在b站上听了几个老师的课,有涉及到mongodb的一些历史,比如删库勒索,因此开放的数据库是很危险的,所以我们需要给它们添加管理用户,这样为我们的数据安全加一道墙

一、管理员类型

mongodb提供了很多了角色,用于不同情境下对数据库进行管理:

  1. 数据库用户角色:readreadWrite
  2. 数据库管理角色: dbAdmindbOwneruserAdmin
  3. 集群管理角色:clusterAdminclusterManagerclusterMonitorhostManager
  4. 备份恢复角色: backuprestore
  5. 所有数据库角色:readAnyDatabasereadWriteAnyDatabaseuserAdminAnyDatabasedbAdminAnyDatabase
  6. 超级用户角色:root

特别注意dbOwner是某个数据库的所有者,root拥有所有权限

二、创建超级管理员用户

mongodb自带的admin数据库,是所有管理员的集合

默认mongodb不开启认证登录,在开启之前,我们必须要创建一个超级管理员,用于管理其他账户,还需要配置cfg文件开启安全认证

在开启安全认证前在命令行输入mongo,看到的会是这样一大串(记住噢)

image-20210710215014711
image-20210710215014711

1. 创建用户

通过db.createUser配置用户名,密码,权限,用户管理的数据库

代码语言:javascript
复制
> use admin
switched to db admin
> db.createUser({user:"admin",pwd:"123456",roles:[{role:"root",db:"admin"}]})
Successfully added user: {
        "user" : "admin",
        "roles" : [
                {
                        "role" : "root",
                        "db" : "admin"
                }
        ]
}

通过show users查看当前数据库中的用户

image-20210710215906894
image-20210710215906894

2. 开启认证登录

修改mongodb安装目录下的bin目录下的mongod.cfg文件,添加以下代码

代码语言:javascript
复制
security:
	authorization: enabled

注意:文件中#号开头的可以理解为是注释掉的,所以如果不想开启安全认证可以加#号来关闭

3. 重启服务

win+R键,输入services.msc,重启mongodb Server服务

image-20210710214932364
image-20210710214932364

4. 通过验证登录

当我们成功开启安全认证后,命令行直接输入mongo,看到的东西会只有一点,相对于之前的少了很多

image-20210710220708095
image-20210710220708095

同时当输入show dbs查看数据库时,会发现没有数据库,这时候我们需要登录我们先前注册的账号,采用命令,填写的内容分别是账号和密码,成功登录会返回1,否则返回0

代码语言:javascript
复制
db.auth("admin","123456")

这时候我们再查看数据库,就可以看到内容了,

image-20210710221349537
image-20210710221349537

三、更新用户密码

代码语言:javascript
复制
db.updateUser('admin',{pwd:'password'})

操作演示

image-20210710222225416
image-20210710222225416

更改用户权限只需要将,后面的pwd换成role,修改即可,可多个

四、删除用户

代码语言:javascript
复制
db.dropUser('username')

在有删除该库权限的用户下,即可删除用户

五、创建某个数据库管理员

创建了一个只能管理test数据库的管理员

代码语言:javascript
复制
db.createUser({user:"test",pwd:"123456",roles:[{role: "dbOwner", db: "test" }]})

在登录时,我们需要切换到对应的test库再进行验证登录

代码语言:javascript
复制
use test
db.auth("test","123456")
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/07/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 零基础学习MongoDB (三)—— 管理用户
    • 一、管理员类型
      • 二、创建超级管理员用户
        • 1. 创建用户
        • 2. 开启认证登录
        • 3. 重启服务
        • 4. 通过验证登录
      • 三、更新用户密码
        • 四、删除用户
          • 五、创建某个数据库管理员
          相关产品与服务
          数据库管理
          数据库管理(Database Management Center,DMC)是一个高效,安全,可靠的数据库一站式管理平台。DMC 提供可视化的库管理、实例会话管理、SQL 窗口、SQL 安全审计、SQL 变更审批、实时监控、操作审计等数据库管理能力,集成诊断优化和数据可视化分析能力,从而简化和规范数据库管理操作、降低数据库运维门槛、提升运维效率。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档