通过RoboMongo实现MongoDB远程连接

通过RoboMongo实现MongoDB远程连接,mongodb,robo3t,Mongodb,Robo3t,我正试图通过Robomongo连接到我的Mongodb服务器 我已将服务器上的mongod.conf绑定ip更改为0.0.0 我还设置了auth=true字段 现在,当我试图从RoboMongo登录时,我得到了身份验证失败错误 老实说,我不知道用户名或密码是什么(在安装Mongo之后,我没有设置任何用户,我更喜欢不设置,因为我正在使用nodeJs查询数据库,当我尝试登录时,我也得到了auth fail[这是mongoskin的情况]) Mongodb是否有默认用户名或密码?或者我还能做什么?您所

我正试图通过Robomongo连接到我的Mongodb服务器

我已将服务器上的
mongod.conf
绑定ip更改为
0.0.0
我还设置了
auth=true
字段

现在,当我试图从RoboMongo登录时,我得到了身份验证失败错误

老实说,我不知道用户名或密码是什么(在安装Mongo之后,我没有设置任何用户,我更喜欢不设置,因为我正在使用nodeJs查询数据库,当我尝试登录时,我也得到了auth fail[这是mongoskin的情况])


Mongodb是否有默认用户名或密码?或者我还能做什么?

您所需要的只是文档:

创建管理员用户(角色):

添加普通用户(读写角色):

要添加管理员,您可能需要使用
auth=false
启动mongo,添加adminuser,然后重新启用
auth=true

查看角色:
db.getRoles()

Mongodb是否有默认用户名或密码

MongoDB没有创建默认用户,但是如果您刚刚启用了身份验证,但还没有(应该是用户管理员),那么您必须通过localhost连接以设置初始用户。默认情况下,有一个已启用的,专门允许创建启用了auth的第一个用户。如果没有有效的用户凭据,远程连接将无法进行身份验证

完成后,您应该能够使用Robomongo或其他界面(如
mongo
shell或您的mongoskin应用程序)使用这些凭据远程登录


如果您不想使用localhost异常,另一种方法是在禁用auth的情况下启动MongoDB服务器,远程添加所需的用户,然后在启用身份验证的情况下重新启动服务器。

您在本地启动了mongodb吗?我可以在这里将Robomongo连接到Mongolabs:有时文档无法帮助您完成任务。我来这里是因为我遇到了一个与OP类似的身份验证问题。事实上,我可以使用mongo shell从远程主机进行身份验证,但Robomongo仍然无法工作。就在那时我发现了这个:。请注意,我有Robomongo 0.8.5和Mongo 3.0.3,因此组合将不起作用。我需要更新Robomongo。@MikeS我没有意识到这一点。我想我的回答加上你的评论将帮助许多有同样问题的人。
use admin
db.createUser(
  {
    user: "siteUserAdmin",
    pwd: "password",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
use reporting
db.createUser(
    {
      user: "reportsUser",
      pwd: "12345678",
      roles: [
         { role: "read", db: "reporting" },
         { role: "read", db: "products" },
         { role: "read", db: "sales" },
         { role: "readWrite", db: "accounts" }
      ]
    }
)