在 MongoDB 中创建第一个用户 3.2。
Creating first user in MongoDB 3.2.
我新安装了 MongoDB 3.2 并尝试创建第一个抛出以下错误的用户。
“错误:无法添加用户:管理员未授权执行命令”
我遵循了 mongoDB 3.2 文档,
https://docs.mongodb.org/manual/tutorial/enable-authentication/
为了添加管理员,我尝试了以下导致上述错误的代码
创建用户管理员。
添加具有 userAdminAnyDatabase 角色的用户。例如,以下在 admin 数据库上创建用户 myUserAdmin:
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "MY_PASSWORD",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
我也浏览了其他 Whosebug 的答案,但没有运气,
MongoDB - admin user not authorized
我的全错,
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
谢谢
如果您重复使用现有的 database directory /data/db
,很可能之前已经设置了 user/auth。
您可以:
- 使用 --dbpath.
指向新的数据目录,从新的数据库目录开始
运行 mongod
没有--auth
, 那么
use admin;
db.getUsers(); // to see whether there's already an existing user.
使用db.removeUser()删除现有用户。
我新安装了 MongoDB 3.2 并尝试创建第一个抛出以下错误的用户。
“错误:无法添加用户:管理员未授权执行命令”
我遵循了 mongoDB 3.2 文档, https://docs.mongodb.org/manual/tutorial/enable-authentication/
为了添加管理员,我尝试了以下导致上述错误的代码
创建用户管理员。 添加具有 userAdminAnyDatabase 角色的用户。例如,以下在 admin 数据库上创建用户 myUserAdmin:
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "MY_PASSWORD",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
我也浏览了其他 Whosebug 的答案,但没有运气,
MongoDB - admin user not authorized
我的全错,
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
谢谢
如果您重复使用现有的 database directory /data/db
,很可能之前已经设置了 user/auth。
您可以:
- 使用 --dbpath. 指向新的数据目录,从新的数据库目录开始
运行
mongod
没有--auth
, 那么use admin; db.getUsers(); // to see whether there's already an existing user.
使用db.removeUser()删除现有用户。