我有一个在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凭证
看起来客户端尚未传递凭据。知道如何实现这个目标吗?
答案 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服务器是一个不受支持的问题。