MongoDB---设置用户名和密码

Posted Shall潇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB---设置用户名和密码相关的知识,希望对你有一定的参考价值。

roles角色详解:

数据库用户角色(Database User Roles)

  • read : 授权User只读数据的权限,允许用户读取指定的数据库
  • readWrite 授权User读/写数据的权限,允许用户读/写指定的数据库

数据库管理角色(Database Admininstration Roles)

  • dbAdmin:在当前的数据库中执行管理操作,如索引的创建、删除、统计、查看等
  • dbOwner:在当前的数据库中执行任意操作,增、删、改、查等
  • userAdmin :在当前的数据库中管理User,创建、删除和管理用户

​​​​​​​备份和还原角色(Backup and Restoration Roles)​​​​​​​

  • backup
  • restore

跨库角色(All-Database Roles)

  • readAnyDatabase:授权在所有的数据库上读取数据的权限,只在admin 中可用
  • readWriteAnyDatabase:授权在所有的数据库上读写数据的权限,只在admin 中可用
  • userAdminAnyDatabase:授权在所有的数据库上管理User的权限,只在admin中可用
  • dbAdminAnyDatabase: 授权管理所有数据库的权限,只在admin 中可用

集群管理角色(Cluster Administration Roles)

  • clusterAdmin:授权管理集群的最高权限,只在admin中可用
  • clusterManager:授权管理和监控集群的权限
  • clusterMonoitor:授权监控集群的权限,对监控工具具有readonly的权限
  • hostManager:管理server

超级角色(super master Roles)

  • root :超级账户和权限,只在admin中可用

一、设置用户

1、添加用户

show dbs
use admin
创建管理员

db.createUser({ user: "admin", pwd: "password", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

创建超级用户

db.createUser({user: "root",pwd: "password", roles: [ { role: "root", db: "admin" } ]})

创建普通用户

先到指定数据库
use yourdatabase

db.createUser({user: "user",pwd: "password",roles: [ { role: "dbOwner", db: "yourdatabase" } ]})

2、查看用户

show users

3、删除用户

首先进入admin
use admin

db.auth("admin","password")

删除单个用户

db.system.users.remove({user:"XXXXXX"})

删除所有用户

db.system.users.remove({})

二、配置mongo.conf文件

修改 mongo.conf 文件
YAML格式,添加

security:
	authorization: enabled

在这里插入图片描述

三、登录

admin登录

./bin/mongo -u admin -p admin

【第一个admin是 用户名,第二个是 密码】

show dbs 可以看到所有的数据库

普通用户登录

./bin/mongo

登录后看不到数据库,必须到指定的数据库下,输入对应的用户名和密码,就可以看到里面的数据

use yourdatabase

db.auth("user1","root")

以上是关于MongoDB---设置用户名和密码的主要内容,如果未能解决你的问题,请参考以下文章

Docker给MongoDB设置用户密码

mongodb设置密码

MongoDB如何设置权限(类似关系型数据库的用户名和密码)

mongodb 设置账号和密码

mongodb设置用户密码

SpringBoot整合MongoDB的连接用户名和密码问题