通过RoboMongo进行MongoDB远程连接

tub*_*u13 6 mongodb robo3t

我正在尝试通过Robomongo连接到我的Mongodb服务器.

我已经改变了Bind_ip,以0.0.0.0在服务器上mongod.conf 我还设置了auth=true现场.

现在,当我尝试从RoboMongo登录时,我收到了auth fail错误.

说实话,我不知道用户名或密码是什么(安装Mongo后我没有设置任何用户,我不喜欢,因为我使用nodeJs来查询数据库,当我尝试登录时我' m得到auth失败[那与mongoskin])

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

Dan*_* W. 2

您需要的一切都在文档中:http://docs.mongodb.org/manual/tutorial/enable-authentication/

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

use admin
db.createUser(
  {
    user: "siteUserAdmin",
    pwd: "password",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
Run Code Online (Sandbox Code Playgroud)

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

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" }
      ]
    }
)
Run Code Online (Sandbox Code Playgroud)

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

查看角色db.getRoles()

  • 有时,文档并不能帮助您冲过终点线。我来到这里是因为我遇到了与OP非常相似的身份验证问题。事实上,我可以使用 mongo shell 从远程主机进行身份验证,但 Robomongo 仍然无法工作。就在那时我发现了这个:http://stackoverflow.com/questions/29325011/mongodb-robomongo-cant-connect-authentication。请注意,我有 Robomongo 0.8.5 和 Mongo 3.0.3,因此该组合将不起作用。我需要更新 Robomongo。 (2认同)