【问题标题】:MongoDB connect with credentialsMongoDB 使用凭据连接
【发布时间】:2015-02-23 14:03:55
【问题描述】:

我已经使用 MongoDB 有一段时间了。我一直设法在不使用用户名和密码的情况下进行连接(在我设置 Mongo 的两台服务器上)。

我现在想更改此设置,因此必须使用用户名和密码。到目前为止,我在 admin 数据库中创建了一个具有 userAdminAnyDatabase 角色的用户。我可以看到用户在那里。

接下来我尝试建立连接并对其进行测试:

mongoose.connect("mongodb://username:password@localhost:8080/MEAN");

var conn = mongoose.connection;             

conn.on("error", function(err){
  console.log(err);
});

我当然没有在那里输入我的真实用户名和密码。 有了这个,我得到以下错误:[Error: connection closed]

这里出了什么问题?

【问题讨论】:

  • 您的密码是“password”,您的用户名是“username”吗?
  • @HelioSantos 哈哈不,出于安全原因,我显然没有发布真实凭据
  • 启动mongo实例使用--auth模式,或在mongo.conf中设置auth=true
  • @latheefitzmeontv 谢谢,我在哪里可以找到 mongo.conf?

标签: javascript node.js mongodb database


【解决方案1】:

如果您想使用凭据连接,请使用 --auth 启动 mongo mongo 实例

sudo mongod --dbpath=/your/db/path --auth

/etc/mongodb.conf,设置

auth=true

然后重启服务

sudo service mongodb restart

【讨论】:

  • 感谢您的帮助。在我本地版本的 Mongo (Mac Yosemite) 上,我似乎在 /etc/ 目录中没有 mongodb.conf 文件(尽管我可以在安装了它的另一台服务器上看到它)。
  • 我的意思是mongo配置文件:)
  • 啊,是的,我在/usr/local/etc/mongod.conf 找到了它。谢谢,我现在就试试。
  • 尝试重启 Mongo,我得到这个错误:sudo: service: command not found
  • 你用的是哪个操作系统?
猜你喜欢
  • 1970-01-01
  • 2020-09-09
  • 2015-01-19
  • 1970-01-01
  • 1970-01-01
  • 2011-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多