Mongo 3.0.5无法从外部客户端连接

时间:2015-08-29 15:25:41

标签: mongodb robo3t mongovue

我有一个在linux框中运行的mongo db实例,我正试图从我的Windows框连接到它。当我启用身份验证时,我一直在

  

数据库'admin'的凭据无效..

我的用户设置类似于

  
    

显示用户     {             “_id”:“test.myuser”,             “用户”:“myuser”,             “db”:“admin”,             “角色”:[                     {                             “角色”:“readWrite”,                             “db”:“admin”                     },                     {                             “role”:“userAdminAnyDatabase”,                             “db”:“admin”                     }             ]     }

  

从我的linux框中的shell,如果我做“mongo -u myuser -p password --authenticationDatabase admin”我能够登录。我想使用MongoVue和RoboMongo,两者都失败了。我尝试在测试数据库中创建相同的用户。日志说

  

2015-08-29T11:16:52.797-0400 I ACCESS [conn24]无法使用MONGODB-CR机制验证myuser @ test:用户文档中缺少AuthenticationFailed MONGODB-CR凭证

看起来客户端尚未传递凭据。知道如何实现这个目标吗?

2 个答案:

答案 0 :(得分:1)

我不确定上面的解决方案应该修复它。我希望这将解决您的错误。登录到您的服务器,

# mongo
> use admin
> db.system.users.remove({})    <== removing all users
> db.system.version.remove({}) <== removing current version 
> db.system.version.insert({ "_id" : "authSchema", "currentVersion" : 3 })
> exit

重新启动MongoDB

service mongod restart

再次,创建用户名和密码。

# mongo

> use admin
> db.createUser ( { user: "username", pwd: "password", roles: [ "readWrite", "dbAdmin", "dbOwner" ] } )

答案 1 :(得分:0)

我使用了MongoChef。因此MongoVue和RoboMongo使用最新版本的MongoDB服务器是一个不受支持的问题。