首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于mongo,除了使用createUser错误命令admin之外,无法创建其他用户需要身份验证:

对于mongo,除了使用createUser错误命令admin之外,无法创建其他用户需要身份验证:
EN

Database Administration用户
提问于 2021-05-31 04:27:30
回答 1查看 6.5K关注 0票数 0

这是我用来在MongoDB中创建用户帐户的脚本:

代码语言:javascript
运行
复制
mongo <<EOF
use admin;
db.createUser({user:ram", pwd: "ram123!", roles:['root']});
db.createUser({user:"sam", pwd: "sam123!", roles:[{db:"config", role:'readWrite'}]});
EOF

这适用于创建第一个用户,但不适用于第二个用户。这是返回的错误:

代码语言:javascript
运行
复制
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("f648b868-7863-4d5c-9912-e3e87b24f4e8") }
MongoDB server version: 4.4.6
switched to db admin
Successfully added user: { "user" : "ram", "roles" : [ "root" ] }
uncaught exception: Error: couldn't add user: command createUser requires authentication :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.createUser@src/mongo/shell/db.js:1386:11
@(shell):1:1
bye
EN

回答 1

Database Administration用户

发布于 2021-05-31 04:59:52

问题似乎在于创建帐户时所期望的不同数据库。第一个,ram是针对admin数据库创建的。第二个问题是,sam应该是在config数据库上创建的,但是您已经连接到admin,这使得这是不可能的。

为了正确地做到这一点,您需要首先连接到config数据库,并在那里为访问config的用户运行脚本。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/292514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档