MongoDB安装及设置服务启动
版权声明:本文为CSDN博主「dandanfengyun」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dandanfengyun/article/details/95497728

手把手教你设置MongoDB密码
mongodb密码和传统数据如mysql等有些区别: mongodb的用户名和密码是基于特定数据库的,而不是基于整个系统的。所有所有数据库db都需要设置密码。
- 查看所有数据库(在mongodb新版本里并没有admin数据库,但是并不妨碍第2步操作。)
1 | show dbs |

- 进入admin数据库
1 | use admin |

- 创建管理员账户
1 | db.createUser({ user: "admin", pwd: "password", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] }) |

mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase。admin用户用于管理账号,不能进行关闭数据库等操作。
- 创建root
1 | db.createUser({user: "root",pwd: "password", roles: [ { role: "root", db: "admin" } ]}) |

创建完admin管理员,创建一个超级管理员root。角色:root。root角色用于关闭数据库。
1 | db.shutdownServer() |
- 创建用户自己的数据库的管理角色
1 | use yourdatabase |

role: “dbOwner”代表数据库所有者角色,拥有最高该数据库最高权限。比如新建索引等当账号管理员和超级管理员,可以为自己的数据库创建用户了。(坑)这时候一定,一定要切换到所在数据库上去创建用户,不然创建的用户还是属于admin。
如果是读写角色的话,权限设置为role: "readWrite"
Built-In Roles(内置角色):
数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
备份恢复角色:backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
内部角色:__systemunknow type: undefined
超级用户角色:root
// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)具体角色:
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限。
- 查看用户
1 | show users |
- 删除用户
删除用户必须由账号管理员来删,所以,切换到admin角色
1 | use admin |
删除单个用户
1 | db.system.users.remove({user:"XXXXXX"}) |
删除所有用户
1 | db.system.users.remove({}) |
可以使用:mongodb://youruser:yourpassword2@localhost/yourdatabase 来连接到你的mongo
本文链接: http://www.ionluo.cn/blog/posts/b3f7806.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
