MongoDB 数据库默认角色

  1. 数据库用户角色:read、readWrite
  2. 数据库管理角色:dbAdmin、dbOwner、userAdmin
  3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager
  4. 备份恢复角色:backup、restore
  5. 所有数据库角色: readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、
    dbAdminAnyDatabase
  6. 超级用户角色:root

1.创建普通用户并赋予角色readWrite,授权读写qyqdb

> use qyqdb       // 跳转到需要添加用户的数据库
switched to db qyqdb--创建用户qyquser,并授权readWrite角色,授权访问qyqdb数据库
> db.createUser({user:"qyquser",pwd:"<密码>",roles:[{role:"readWrite",db:"qyqdb"}]})
Successfully added user: {"user" : "qyquser","roles" : [{"role" : "readWrite","db" : "qyqdb"}]
}--查看创建的用户信息
> db.getUsers();
[{"_id" : "qyqdb.qyquser","userId" : UUID("8f1ae6e6-882e-4a5e-8a03-2972b8786395"),"user" : "qyquser","db" : "qyqdb","roles" : [{"role" : "readWrite","db" : "qyqdb"}],"mechanisms" : ["SCRAM-SHA-1","SCRAM-SHA-256"]}
]
> 

2.使用本地连接

--使用新创建的用户qyquser连接数据库qyqdb
root@28631e42c8a4:/# mongo qyqdb -uqyquser -p
MongoDB shell version v5.0.5
Enter password:
connecting to: mongodb://127.0.0.1:27017/qyqdb?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("8cc29c73-818a-4786-9ee8-cbf2c3cf9d42") }
MongoDB server version: 5.0.5
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
> show dbs
qyqdb  0.000GB
> show collections
user
> db.user.find()
{ "_id" : ObjectId("61b1bb1f5b33d3cc45039662"), "name" : "小一", "age" : 18 }
{ "_id" : ObjectId("61b1bb1f5b33d3cc45039663"), "name" : "小二", "age" : 19 }
{ "_id" : ObjectId("61b1bb1f5b33d3cc45039664"), "name" : "张三", "age" : 20 }
{ "_id" : ObjectId("61b1bb1f5b33d3cc45039665"), "name" : "赵四", "age" : 21 }
{ "_id" : ObjectId("61b1bb1f5b33d3cc45039666"), "name" : "王老五", "age" : 22 }
{ "_id" : ObjectId("61b1bb1f5b33d3cc45039667"), "name" : "李老六", "age" : 23 }
{ "_id" : ObjectId("61b1bb1f5b33d3cc45039668"), "name" : "阮小七", "age" : 24 }
{ "_id" : ObjectId("61b1bb205b33d3cc45039669"), "name" : "郑八哥", "age" : 25 }
> 

3.使用navicat连接mongodb

使用新建的用户qyquser去连接新建的数据库qyqdb

4.连接成功之后,查看数据库和集合

5.创建超级管理员用户admin

use admin  //使用admin数据库db.createUser({user: 'admin',  // 用户名pwd: '<密码>',  // 密码roles:[{role: 'root',  // 角色db: 'admin'  // 数据库}]
})

6.修改用户密码

show users  // 查看当前库下的用户--修改用户密码
> db.updateUser('admin', {pwd: '654321'})--验证密码> db.auth("admin","123456");    //使用错误的密码登录,报认证失败
Error: Authentication failed.
0> db.auth("admin","654321");    //使用正确的密码登录,认证成功
1
> --测试连接
root@28631e42c8a4:/# mongo admin -uadmin -p654321
MongoDB shell version v5.0.5
connecting to: mongodb://127.0.0.1:27017/admin?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("a51d7299-0997-4336-8465-4060aaccff76") }
MongoDB server version: 5.0.5
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
---
The server generated these startup warnings when booting: 2021-12-09T08:05:11.674+00:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'2021-12-09T08:05:11.674+00:00: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. We suggest setting it to 'never'
---
---Enable MongoDB's free cloud-based monitoring service, which will then receive and displaymetrics about your deployment (disk utilization, CPU, operation statistics, etc).The monitoring data will be available on a MongoDB website with a unique URL accessible to youand anyone you share the URL with. MongoDB may use this information to make productimprovements and to suggest MongoDB products and deployment options to you.To enable free monitoring, run the following command: db.enableFreeMonitoring()To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB
qyqdb   0.000GB
> 

7.删除用户

db.dropUser('admin')  // 删除用户--删除刚才创建的用户admin
> db.dropUser('admin')
true
> --测试admin用户连接,认证失败
> db.auth("admin","654321");
Error: Authentication failed.
0
> 

mongodb创建普通用户并授权readWrite角色,并允许访问某一数据库相关推荐

  1. 如何创建一个用户、授权操作k8s集群的过程?

    本篇带给大家如何创建一个用户.授权操作k8s集群的过程.希望对你有所帮助! 背景 172.16.99.128是的我k8s集群的master节点,此处是从这里获取集群的证书. 创建访问architech ...

  2. BOS项目01_02_项目的相关概述、MySQL创建新用户并授权、数据库环境的配置、Mysql命令行

    系列文章目录 文章目录 系列文章目录 前言 一.项目的相关概述 二.数据库环境的配置--MySQL创建新用户并授权 前言 我们这里的BOS系统是指: 物流业务操作系统 一.项目的相关概述 1.1> ...

  3. mongodb 创建只读用户

    关闭mongo #先找到mongo的进程 ps -ef | grep mongo kill -9 {pid} 先停止mongodb的进程 修改配置文件mongo.conf dbpath=/opt/su ...

  4. 【数据库】Oracle用户、授权、角色管理

    创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识.掌握还Oracle用户的授权操作和原理,可以有效提升我们的工作效率. Oracle ...

  5. SQLServer 创建只读用户和授权

    因为公司报表 抽数 需要,要创建一个只读权限的账号.操作环境是 Windows Server 2012 上部署的  SQLServer 11.0 数据库.所以简单进行了操作,步骤记录如下: 1.使用 ...

  6. oracle创建普通用户(normal)授权

    必须使用sys or system / manager as sysdba; 连接数据库. 这里我创建的用户名为aml,密码为123456 创建普通用户 create user aml identif ...

  7. DB2创建新用户及授权研究

    文章转载自:http://blog.csdn.net/wkwanglei/article/details/6827481 1.创建系统用户dbuser/ehong隶属于db2users 2.C:\Pr ...

  8. mysql创建新用户并授权

    我们在使用mysql的过程中,经常需要对用户授权(添加,修改,删除),在mysql当中有三种方式实现 分别是 INSERT USER表的方法.CREATE USER的方法.GRANT的方法.今天主要看 ...

  9. oracle 12c新特性(1)——创建新用户(公用用户名或角色名无效)

    GRANT CONNECT,RESOURCE,UNLIMITED TABLESPACE TO C##SCOTT IDENTIFIED BY TIGER container=all; ALTER USE ...

最新文章

  1. php worker微信,微信小程序API createWorker
  2. 负数对2取余_不同语言的负数取余问题
  3. UA MATH564 概率论 计算至少有一个发生的概率:容斥原理与庞加莱公式
  4. 2007年抓的兔子太多了,结果没抓到一个。
  5. php存密码,php 登录验证的代码(基于文件保存的密码)
  6. php 随机钱数,PHP 仿微信红包金额随机
  7. 我的世界基岩版json_我的世界基岩版app_我的世界基岩版app下载_我的世界基岩版安卓版下载-新手游网...
  8. 《编译与反编译技术实战》——1.2 词法分析生成器LEX
  9. quartus编译出现的问题
  10. ddk高级主题和提示
  11. RTMP协议 和 HLS 协议
  12. 嵌入式 Linux C 代码规范和风格
  13. Matlab无法打开,卡logo
  14. 如何写出高分IB TOK Essay?
  15. 288388D-EnterCAT调试
  16. 选择GoDaddy域名的好处有哪些?
  17. unity中Loding.UpdatePreloading占用CPU过高如何解决?
  18. 使用FreeMarker自动生成Word文档
  19. Layui官网地址官网仓库
  20. 穆利堂[推荐]河南郑州房地产CRM管理系统软件整体解决方案.穆穆-movno1

热门文章

  1. Java中如何遍历Map对象(值得借鉴)
  2. netty大白话--概念(二)
  3. 红外遥控c语言,NEC协议红外遥控器
  4. Unity2018.1中文更新日志速览版
  5. oracle 感叹号,Oracle错误案例:ORA-00922
  6. OpenShift 4 - 用 Operator 创建 Jenkins 环境
  7. OpenShift 4 - Istio-Tutorial (2) 部署三个微服务
  8. (五)使用模型单元测试进行MLOps持续交付
  9. TinyWeb:C#中的简单Web服务器
  10. python五子棋代码tkinter_python使用tkinter开发一款五子棋游戏