最近安装了mongodb3.0,并启用了权限验证,在dos窗口下操作没有任何问题,如图:
为了维护方便就下载了一个客户端工具Robomongo 0.8.4,用户名、密码的等配置好点解测试,
结果连接服务没有问题,权限验证没有通过,如图:
查看日志,发现有一句:Failed to authenticate admin@admin with mechanism MONGODB-CR: AuthenticationFailed MONGODB-CR credentials missing in the user document,试了各种办法,百度查遍无一个可以解决,没办法只能问谷歌了,最终在一个国外网站发现原来还是mongodb数据库的版本问题,查询版本如图:
解决思路:
操作步骤:
1、删除用户:db.dropUser("admin");
2、修改version:db.system.version.update({ "_id" : "authSchema"},{$set: {"currentVersion" : 3} }) ;
3、重新创建用户:
db.createUser({user:"admin",pwd:"admin",roles:[{"role":"userAdminAnyDatabase","db":"admin"},{"role":"readWrite","db":"test"}]})
重启mongdb服务,再次测试,Robomongo连接如图: