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

在MongoDB 3.2中创建第一个用户。

董和泽
2023-03-14

我新安装了MongoDB 3.2,并尝试创建第一个抛出以下错误的用户。

“错误:无法添加用户:未经管理员授权执行命令”

我遵循mongoDB 3.2文档,https://docs.mongodb.org/manual/tutorial/enable-authentication/

为了添加管理员,我尝试了以下代码,导致了上述错误

创建用户管理员。添加具有userAdminAnyDatabase角色的用户。例如,下面在管理数据库上创建用户myUserAdmin:

use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: "MY_PASSWORD",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

我也浏览了其他堆叠溢出的答案,但是运气不好,

MongoDB-管理员用户未经授权

更新角色用户:管理员未授权执行命令

我的完全错误,

 E QUERY    [thread1] Error: couldn't add user: not authorized on admin to execute command { createUser: "myUserAdmin
", pwd: "xxx", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ], digestPassword: false, writeConcern: { w: "majority", wtimeout: 30000.0
} } :
_getErrorWithCode@src/mongo/shell/utils.js:23:13
DB.prototype.createUser@src/mongo/shell/db.js:1225:11
@(shell):1:1

谢谢你

共有1个答案

弓嘉纳
2023-03-14

如果重复使用现有的数据库目录/data/db,则可能以前已经设置了用户/auth。

你可以选择:

>

  • 使用--dbpath指向一个新的数据目录,从一个新的数据库目录开始。
  • 在没有--auth的情况下运行mongo2

    use admin;
    db.getUsers(); // to see whether there's already an existing user. 
    

    使用数据库。removeUser()删除现有用户。

  •  类似资料:
    • 主要内容:创建 Node.js 应用,Gif 实例演示如果我们使用 PHP 来编写后端的代码时,需要 Apache 或者 Nginx 的 HTTP 服务器,并配上 mod_php5 模块和 php-cgi。 从这个角度看,整个"接收 HTTP 请求并提供 Web 页面"的需求就不需要 PHP 来处理。 不过对 Node.js 来说,概念完全不一样了。使用 Node.js 时,我们不仅仅 在实现一个应用,同时还实现了整个 HTTP 服务器。事实上,我们

    • 如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器,并配上 mod_php5 模块和php-cgi。 从这个角度看,整个"接收 HTTP 请求并提供 Web 页面"的需求根本不需 要 PHP 来处理。 不过对 Node.js 来说,概念完全不一样了。使用 Node.js 时,我们不仅仅 在实现一个应用,同时还实现了整个 HTTP 服务器。事实上,我们的 W

    • 创建我的第一个应用 视频地址:http://pan.baidu.com/s/1i3FBKUx 本文通过一个简单的hello案例介绍使用WeX5开发一个手机应用的过程 第一步,环境准备 第二步,应用开发 第三步,调试运行,本地打包 介绍谷歌浏览器调试、真机调试,其中真机调试可使用模拟器和手机两种方法。 第四步,打包发布,部署运行 详见《WeX5平台生成App包过程详解》   第一步,环境准备 1.

    • 更多的调测方式请查看后面的“调测”章节 在govm文件夹下创建一个临时文件,如tmp 在tmp文件夹里创建一个文件,如app.go 在app.go里输入如下代码 package app import core "github.com/lengzhao/govm/app/chain1/ae4a05b2b8a4de21d9e6f26e9d7992f7f33e89689f3015f3fc8a3

    • 本文向大家介绍在Django中创建第一个静态视图,包括了在Django中创建第一个静态视图的使用技巧和注意事项,需要的朋友参考一下 正如我们的第一个目标,创建一个网页,用来输出这个著名的示例信息: 如果你曾经发布过Hello world页面,但是没有使用网页框架,只是简单的在hello.html文本文件中输入Hello World,然后上传到任意的一个网页服务器上。 注意,在这个过程中,你已经说明

    • 在前面介绍过Tower的Job是ansible中playbook的一次执行,也是Tower中Job template的一次的执行。 思路 我们先来屡屡思路,然后再上图来说明创建第一个Job的具体过程。 在ansible中,第一次执行playbook,我们需要做什么准备工作呢。 首先确定要管理的远程主机 即编辑inventory 配置连接远程主机的SSH连接 ssh-genkey && ssh-co