MongoDB用户和密码登陆

1、MongoDB中内置角色html

角色 介绍
read 提供读取全部非系统的集合(数据库)
readWrite 提供读写全部非系统的集合(数据库)和读取全部角色的全部权限
dbAdmin 提供执行管理任务的功能,例如与架构相关的任务,索引编制,收集统计信息。此角色不授予用户和角色管理权限。
dbOwner 提供对数据库执行任何管理操做的功能。此角色组合了readWrite,dbAdmin和userAdmin角色授予的权限。
userAdmin 提供在当前数据库上建立和修改角色和用户的功能。因为userAdmin角色容许用户向任何用户(包括他们本身)授予任何权限,所以该角色还间接提供对数据库的超级用户访问权限,或者,若是做用于管理数据库,则提供对群集的访问权限。
clusterAdmin 提供最佳的集群管理访问。此角色组合了clusterManager,clusterMonitor和hostManager角色授予的权限。此外,该角色还提供了dropDatabase操做。
readAnyDatabase 仅在admin 数据库中使用,提供全部数据库的读权限。
readWriteAnyDatabase 尽在admin 数据库中使用,提供全部数据库的读写权限
userAdminAnyDatabase 尽在admin 数据库中使用,提供与userAdmin相同的用户管理操做访问权限,容许用户向任何用户(包括他们本身)授予任何权限,所以该角色还间接提供超级用户访问权限。
dbAdminAnyDatabase 仅在admin 数据库中使用,提供与dbAdmin相同的数据库管理操做访问权限,该角色还在整个群集上提供listDatabases操做。
root 尽在admin 数据库中使用,提供超级权限

2、建立管理员用户sql

建立管理员mongodb

链接mongodbshell

 

mongo --host 10.10.18.11

 

复制代码

use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
  }
)

复制代码

建立管理员帐号:myUserAdmin 密码:abc123数据库

 

查看建立的管理员帐号api

use admin
db.getUser("myUserAdmin")

重启MongoDB实例session

链接MongoDB架构

一、相似Mysql同样链接server

mongo --host 10.10.18.11 -u "myUserAdmin" --authenticationDatabase "admin" -p'abc123'

结果:htm

1 MongoDB shell version v4.0.10
2 connecting to: mongodb://10.10.18.11:27017/?authSource=admin&gssapiServiceName=mongodb
3 Implicit session: session { "id" : UUID("3b067347-1b0e-4761-9399-cb3ad4ba6c93") }
4 MongoDB server version: 4.0.10

二、登陆后进行验证

链接mongodb

mongo --host 10.10.18.11

进行验证

rs0:PRIMARY> use admin
switched to db admin
rs0:PRIMARY> db.auth("myUserAdmin", "abc123" )
1

3、建立普通用户

建立一个普通用户

用户名:myTester
密码:xyz123
权限:读写数据库 test, 只读数据库 reporting。

复制代码

use test
db.createUser(
  {
    user: "myTester",
    pwd: "xyz123",
    roles: [ { role: "readWrite", db: "test" },
             { role: "read", db: "reporting" } ]
  }
)

复制代码

普通用户链接MongoDB实例

mongo --host 10.10.18.11 -u "myTester" --authenticationDatabase "test" -p'xyz123'

结果:

1 MongoDB shell version v4.0.10
2 connecting to: mongodb://10.10.18.11:27017/?authSource=test&gssapiServiceName=mongodb
3 Implicit session: session { "id" : UUID("3e9011ee-729f-4112-acd1-f5d1515490ac") }
4 MongoDB server version: 4.0.10

验证权限

在test集合中插入、查询数据

复制代码

rs0:PRIMARY> db.test.insertOne({name:"sue",age:19,status:'p'})
{
        "acknowledged" : true,
        "insertedId" : ObjectId("5d00b364a75d40ae9b83c64c")
}
rs0:PRIMARY> db.test.find({name:"sue"})
{ "_id" : ObjectId("5d00b364a75d40ae9b83c64c"), "name" : "sue", "age" : 19, "status" : "p" }

复制代码

 

分类: MongoDB

好文要顶 关注我 收藏该文  

温斌
关注 - 0
粉丝 - 0

+加关注

0

0

« 上一篇: MongoDB安装 
» 下一篇: MongoDB的集群模式--Sharding(分片)

相关文章
相关标签/搜索