我需要远程连接到我的 MongoDB。所以我在 mongod.conf
中注释掉了行 bind_ip
并在那里设置了 auth=true
。现在我可以远程连接了。
然后我在运行 mongodb 的机器上输入以下内容:
使用管理员
db.addUser("myadmin", "mypw")
已成功创建,但现在当我尝试远程连接或什至在本地计算机上尝试执行它所说的任何内容时:未授权管理员执行命令
即使我尝试这样连接:mongo -u myadmin -p mypw
(本地)
出现以下错误:
MongoDB 外壳版本:2.6.9
连接到:测试
2015-04-08T15:25:53.425+0200 错误:18 { ok: 0.0, errmsg: "auth failed", code: 18 } at src/mongo/shell/db.js:1260
异常:登录失败
也许是因为他试图连接到 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 }
在 DB._authOrThrow (src/mongo/shell/db.js:1236:32)
在(授权):6:8
在 (auth):7:2 在 src/mongo/shell/db.js:1236
异常:登录失败
最佳答案
请在连接到 mongo shell 时尝试使用 --authenticationDatabase
,如下所示:
mongo -u myadmin -p mypw --authenticationDatabase admin
https://stackoverflow.com/questions/29516158/