我正在学习mongodb文档:https://docs.mongodb.com/manual/tutorial/enable-authentication/,
但我无法确定示例中的“admin”数据库是仅为本教程创建的数据库,还是一个专门用于管理管理员用户的内置数据库。
谢谢。
但我无法确定示例中的“admin”数据库是仅为本教程创建的数据库,还是一个专门用于管理管理员用户的内置数据库。
谢谢。
这个管理数据库的主要目的是存储系统集合以及用户身份验证和授权数据,包括管理员和用户的用户名、密码和角色。只有管理员可以访问,他们有创建、更新和删除用户以及分配角色的权限。
在MongoDB中创建数据库时,默认情况下不启用身份验证,用户拥有该数据库的所有特权和角色,即使防火墙没有封锁端口27017,用户也可以远程访问数据库。
有两个特殊的数据库admin和local,这些数据库的用户可以执行文档中提到的操作,包括其他他们有权限访问的数据库。在开发环境中,不必担心用户和密码是很方便的,但是,当用户在应用程序上远程与数据库交互时,激活用户身份验证是必要的。
admin
数据库是内置的数据库。除了用户身份验证和授权数据外,它还包括 角色 用于管理整个系统而不仅仅是单个数据库。这些角色主要与复制集和分片集群管理功能相关。admin
之外创建的角色只能包括适用于其数据库的权限,并且只能从其数据库中的其他角色继承。admin
数据库中创建的角色可以包括适用于任何数据库或群集资源的权限,并且可以从其他数据库以及 admin
数据库中的角色继承权限。
admin
和local
数据库之间有什么区别? - x-yuri