我有一个3个成员的
mongodb副本集(版本2.4),其中’admin’db的管理员用户没有’userAdminAny
Database‘角色.
管理所有数据库上的用户需要此角色.
我目前的角色是:[“readWriteAnyDatabase”,“dbAdminAnyDatabase”,“clusterAdmin”]
我尝试为自己更新角色或创建新用户,但是我无权访问admin db中的db.system.users.
我尝试设置noauth = true但这没有帮助.同时删除keyFile时,db无法与其他成员同步(显然)并且卡在RECOVERY状态.
我发现一个similar question指的是一个独立的数据库(没有副本集)所以它在这种情况下并没有真正的帮助.
在最小的系统停机时间内添加此角色的最佳方法是什么?
最佳答案 我将使用
mongodump和
mongorestore备份数据,然后使用正确的权限重建节点并恢复数据.
但是这种方法应该是work:
If you have locked yourself out then you need to do the following:
- Stop your MongoDB instance
- Remove the –auth and/or –keyfile options from your MongoDB config
to disable authentication- Start the instance without authentication
- Edit the users as needed
- Restart the instance with authentication enabled