当前位置: 首页 > 知识库问答 >
问题:

MongoDB-管理员无法成为root用户。“不是主人”

湛光华
2023-03-14

我在Mongo4.4实例(Ubuntu)上创建了一个管理员用户

db.createUser(
  {
    user: "admin",
    pwd: "password",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
  }
)

然后,我尝试rs.initiate(),它告诉我我不是“大师”。我读了这篇文章,人们建议我做db。grantRolesToUser('admin',[{role:'root',db:'admin'}]),但它不工作!

它给我以下错误:

uncaught exception: Error: not master :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.grantRolesToUser@src/mongo/shell/db.js:1613:15
@(shell):1:1

我必须卸载MongoDB,重新安装,然后创建根用户,然后创建管理员用户吗?

共有1个答案

傅献
2023-03-14

如果您的节点已经在副本集中,则只能是“非主节点”。您只能启动副本集一次,因此您不应该尝试再次启动它,它已经启动了。

 类似资料:
  • 我正在Windows上使用WAMP64运行本地MongoDB服务。 我想使用Adminer访问数据库。我无法通过登录页面。 它一直在说,这一点通过我使用MongoDB Compass和创建的auth uid和pw登录数据库得到了证明。 我试过Adminer4.6。3和4.7。6(最新版本) 有人知道怎么度过难关吗?谢谢。

  • 本文向大家介绍MongoDB 用户管理,包括了MongoDB 用户管理的使用技巧和注意事项,需要的朋友参考一下 小小最近接触了MongoDB,所以这里开始学习MongoDB,之用户管理模块的相关内容。 进入MongoDB的Shell 这里输入如下的命令,进入MongoDB的shell 切换数据库 使用如上的命令,切换数据库到admin数据库。 创建超级管理员用户 创建超级管理员权限的用户 其中各个

  • 在您创建的每个项目中,您都可以邀请伙伴加入,成为项目中的一员。项目成员将可以和您一起查看项目的详细测评报告。同时,您也可以在自己拥有的项目中对成员进行管理。目前,管理权限主要为“邀请成员”、“移除成员”和“修改成员”身份。 成员权限 目前,一个项目的成员角色主要为三种:拥有者、管理员和成员,其具体的权限解释如下所示: 拥有者 项目的创建者,拥有“成员管理权”和“项目管理权”。 管理员 由“拥有者”

  • 本文向大家介绍浅析MongoDB用户管理,包括了浅析MongoDB用户管理的使用技巧和注意事项,需要的朋友参考一下 1. 创建一个超级用户 超级用户的role有两种,userAdmin或者userAdminAnyDatabase(比前一种多加了对所有数据库的访问)。 db是指定数据库的名字,admin是管理数据库。 2. 用新创建的用户登录 3. 查看当前用户的权限 4. 创建一般用户,也是用cr

  • 我们提供了一个用于模型管理和策略管理的门户网站 Casdoor 还有第三方门户管理项目,使用Casbin作为授权引擎。 您可以基于这些项目建立您自己的 Cabin 服务。GoJavaNode.jsPythonPHP 项目 作者 前端 后端 说明 Casdoor Casbin React + Ant Design Beego 基于 Beego + XORM + React go-admin-team

  • 成员管理       邀请新成员:点击邀请新成员按钮,复制邀请链接,发给想要邀请的人。如想废弃当前链接,点击“重新生成邀请链接按钮”。 申请加入       访问邀请链接,登录(或注册)中科图像账号,输入验证信息,点击申请,等待审核! 成员申请审核       当有新成员申请时,按钮将显示提醒。点击“新申请”按钮。进入审核界面,为新成员选择对于的角色与分组,点击“审批通过”完成新成员加入。 成员权