连接MongoDB 3.x 报 Authorization failed 解决办法(自己只用到了创建mongodb账号和密码的部分亲测)

最近安装了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服务,再次测试,

      搞定收工了。

猜你喜欢

转载自blog.csdn.net/gb4215287/article/details/107367835