参考 > 发行说明 > MongoDB 2.6发行说明 > 将用户授权数据升级到2.6格式
MongoDB 2.6对授权模型进行了重大更改,这需要更改MongoDB存储用户凭据的方式。因此,除了升级MongoDB进程外,如果您的部署使用身份验证和授权,则在将所有MongoDB进程升级到2.6之后,您还必须升级授权模型。
在升级授权模型之前,您应该首先将MongoDB二进制文件升级到2.6。对于分片群集,请确保所有
群集组件均为2.6。如果任何数据库中都有用户,则在升级MongoDB二进制文件之前,请确保数据库中至少有一个admin
具有该角色的
用户。userAdminAnyDatabase
由于升级用户授权模型后降级更加困难,因此,一旦将MongoDB二进制文件升级到2.6版,就可以使MongoDB部署运行一两天 而无需升级用户授权模型。
这允许2.6的时间“老化”,并降低了用户权限模型升级后发生降级的可能性。用户身份验证和访问控制将继续像2.4中那样工作,但是在运行授权升级之前,无法创建或修改用户或使用用户定义的角色。
如果您决定立即升级用户授权模型,而不是等待建议的“预烧”期,那么对于分片群集,必须在分片群集升级后至少等待10秒才能运行授权升级脚本。
要升级授权模型,您必须在admin
数据库中拥有一个角色为的用户
userAdminAnyDatabase
。
以具有角色的数据库用户
身份连接到mongod
单一部署或实例化mongos
群集
并通过实例进行身份验证。admin
userAdminAnyDatabase
2.6系统中的所有用户都存储在admin.system.users
集合中。要操纵这些用户,请使用用户管理方法。
升级过程将版本2.4 admin.system.users
集合复制到admin.system.backup_users
。
升级过程使版本2.4
<database>.system.users
集合完整无缺。