MongoDb的操作命令

操作流程:操作流程:

参考文档:
https://blog.csdn.net/qq_33206732/article/details/79877948
https://blog.csdn.net/dhfttkl123/article/details/53375162
https://blog.csdn.net/u012702547/article/details/79001275

1.如果没有全局配置:到安装mongodb目录下找到bin目录进去运行 ./mong 命令进入mongodb
Jsky博客
2.use 数据库名称 比如:use engine ,
然后创建用户账号密码:
db.createUser( {user: “账号”,pwd: “密码”,roles: [ { role: “权限”, db: “db库名称” } ]});

Jsky博客

3.然后退出,重新进入,这时候是需要进行登陆认证
Jsky博客

> use admin> db.auth("账号","密码")   #认证,返回1表示成功

这时候账号代表创建成功了,

4.将mongo路径软链到/usr/bin路径下,方便随处执行mongo命令
执行命令: ln -s mongodb目录/bin/mongo /usr/bin/mongo
Jsky博客

回到任意路径下,执行mongo命令,连接mongod服务
Jsky博客

常用命令:前提都是先进行登陆

use dbname      进入数据库show dbs          查看数据库show users        查看当前数据库用户权限

创建用户
`
db.createUser({user:”usertest”,pwd:”passtest”,roles:[ {role:”clusterAdmin”, db:”admin” }, {role:”readAnyDatabase”,db:”admin” }, {role:”readWrite”,db:”testDB” } ]})

`
user字段,为新用户的名字;
pwd字段,用户的密码;
cusomData字段,为任意内容,例如可以为用户全名介绍;
roles字段,指定用户的角色,可以用一个空数组给新用户设定空角色;
在roles字段,可以指定内置角色和用户定义的角色。

Jsky博客

权限详解:

内建角色:
数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:   clusterAdmin、clusterManager、clusterMonitor、hostManager;
备份恢复角色:   backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:   root;  这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
内部角色:          __system;
------------------------------------------------------------------------------------------
角色说明:
Read:                             允许用户读取指定数据库
readWrite:                     允许用户读写指定数据库
dbAdmin:                      允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:                    允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
dbOwner:                       允许在当前DB中执行任意操作
readAnyDatabase:          赋予用户所有数据库的读权限,只在admin数据库中可用
readWriteAnyDatabase: 赋予用户所有数据库的读写权限,只在admin数据库中可用
userAdminAnyDatabase:赋予用户所有数据库管理User的权限,只在admin数据库中可用
dbAdminAnyDatabase:   赋予管理所有数据库的权限,只在admin数据库中可用
root:                                 超级账号,超级权限,只在admin数据库中可用。
------------------------------------------------------------------------------------------
集群管理角色:
clusterAdmin:                  赋予管理集群的最高权限,只在admin数据库中可用
clusterManager:               赋予管理和监控集群的权限
clusterMonitor:                赋予监控集群的权限,对监控工具具有readonly的权限
hostManager:                   赋予管理Server

修改密码

方法1:db.changeUserPassword("usertest","changepass");方法2:db.updateUser("usertest",{pwd:"changepass1"});

修改权限

db.updateUser("usertest",{roles:[ {role:"read",db:"testDB"} ]})注:updateuser它是完全替换之前的值,如果要新增或添加roles而不是代替它 则使用方法: db.grantRolesToUser() 和 db.revokeRolesFromUser()db.grantRolesToUser("usertest", [{role:"readWrite", db:"testDB"},{role:"read", db:"testDB"}])       # 修改权限db.revokeRolesFromUser("usertest",[{role:"read", db:"testDB"}])   # 删除权限:

Jsky博客

删除用户

db.dropUser('usertest')

Jsky博客


Jsky博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论