【发布时间】:2013-08-15 12:27:19
【问题描述】:
我使用以下说明为 mongo 创建了一个管理员用户:
http://docs.mongodb.org/manual/tutorial/add-user-administrator/
从 mongo 客户端看来我可以进行身份验证:
> use admin
switched to db admin
> db.auth('admin','SECRETPASSWORD');
1
>
但我无法以任何其他方式连接。例如:
mongo -u admin -p 密码
给出错误:
JavaScript execution failed: Error: 18 { code: 18, ok: 0.0, errmsg: "auth fails" } at src/mongo/shell/db.js:L228
我在etc/mongod.conf 中有auth = true。
我错过了什么?
【问题讨论】:
-
也许 Mongo 被配置为只接受来自本地主机的连接?尝试从我的计算机访问我们的生产 mongodb 实例时,这至少发生在我身上。
-
我不这么认为,当我从与 mongod 相同的机器连接时收到该错误消息。此外,它让我无需提供用户名/密码即可连接,然后使用 db.auth 提供用户名/密码(我的第一个示例)。
-
PS:
db.changeUserPassword("admin", "password")更改每个数据库的密码。
标签: mongodb