添加 root 用户后如何在 MongoDB 中使用 Auth

How to use Auth in MongoDB after adding a root user

我需要远程连接到我的 MongoDB。所以我注释掉了 mongod.conf 中的 bind_ip 行,并在那里也设置了 auth=true。现在我可以远程连接了。

然后我在机器上输入了以下运行 mongodb:

  1. use admin
  2. db.addUser("myadmin", "mypw")

已成功创建,但现在当我尝试远程连接甚至在本地计算机上时,我尝试执行它所说的任何内容:not authorized on admin to execute command

即使我尝试这样连接:mongo -u myadmin -p mypw(本地)

我收到以下错误:

MongoDB shell version: 2.6.9 connecting to: test 2015-04-08T15:25:53.425+0200 Error: 18 { ok: 0.0, errmsg: "auth failed", code: 18 } at src/mongo/shell/db.js:1260 exception: login failed

可能是因为他试图连接到 test 数据库?我如何指定哪个数据库。远程它不适用于 mongo --host myurl -u myadmin-p mypw 出现以下错误:

2015-04-08T14:31:00.373+0200 E QUERY Error: 18 { ok: 0.0, errmsg: "auth failed", code: 18 } at DB._authOrThrow (src/mongo/shell/db.js:1236:32) at (auth):6:8 at (auth):7:2 at src/mongo/shell/db.js:1236 exception: login failed

请在连接到 mongo shell 时尝试使用 --authenticationDatabase,如下所示:

mongo -u myadmin -p mypw --authenticationDatabase admin