root帐号在admin数据库下创建,拥有Mongodb内置的root权限;使用root帐号登录数据库后,用户可以根据需要创建更多帐号。可通过mongo shell的show users查看当前用户信息。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您提到的是MongoDB数据库中的用户权限管理。在MongoDB中,确实可以创建具有不同权限的用户来管理不同的数据库访问需求。不过,直接提及"root帐号在admin数据库下创建,拥有Mongodb内置的root权限",这实际上是指在MongoDB中的一种实践,而非直接内置的一个名为"root"的账户。在MongoDB中,管理员通常会在admin
数据库中创建一个具有超级管理员权限的用户,这个用户因为拥有对整个MongoDB实例的广泛管理权限,所以常被类比为“root”用户。
创建这样一个超级管理员用户的命令通常如下:
use admin
db.createUser(
{
user: "myAdminUser",
pwd: "password123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)
在这个例子中,myAdminUser
是用户名,password123
是密码,该用户被赋予了userAdminAnyDatabase
和readWriteAnyDatabase
角色,这意味着该用户可以在任何数据库上执行用户管理和读写操作。
如您所述,可以通过mongo shell命令show users
来查看当前数据库中的用户信息。但需要注意的是,这个命令只能显示当前所在数据库的用户。如果想要查看admin
数据库或其他数据库的用户,需要先切换到那个数据库使用该命令,例如:
use admin
show users
或者,更详细地查看用户及其角色,可以使用db.getUsers()
命令。
如果您是在使用阿里云的MongoDB服务(例如:阿里云MongoDB Community Edition或ApsaraDB for MongoDB),虽然基本的数据库操作和用户管理逻辑相似,但还需要注意以下几点:
总之,在阿里云平台上管理MongoDB实例时,除了数据库内部的用户权限管理外,还需结合阿里云平台的安全和管理特性,确保数据和服务的安全性及高效运行。