最近安装了mongodb3.1.4,并启用了权限验证,在dos窗口下操作没有任何问题,为了维护方便就下载了一个客户端工具Robomongo 0.8.5,用户名、密码的等配置好点解测试,结果连接服务没有问题,权限验证没有通过,如图
查看日志,发现有一句:Failed to authenticate admin@admin with mechanism MONGODB-CR: AuthenticationFailed MONGODB-CR credentials missing in the user document
试了各种办法,百度查遍无一个可以解决,没办法只能问谷歌了,最终在一个国外网站发现原来还是mongodb数据库的版本问题,查询版本
解决思路:在非权限验证状态下 首先,删除已有用户并;其次,修改version表的currentVersion,功能后在重新创建用户
操作步骤:
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"}]})
4、重启mongdb服务,再次测试,
搞定收工了。