您好,登录后才能下订单哦!
mongo3.03开启auth认证后,会有一些以前版本没有的问题,比如3.03以后mongodb加入了SCRAM-SHA-1校验方式。
前一日我发现测试新搭建的mongo开发连接不上,我用软件测试一下是不是因为ip限制原因造成的,然后并不是,但是我注意到有个认证选择,一个是SCRAM-SHA-1 一个是mongodb-cr。我才发现是不是因为认证的原因造成的,于是我查看了mongo3.03新版的信息发现是的,
> db.system.users.find()
{ "_id" : "xxx.xxx", "user" : "xxx", "db" : "xxx", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "Ixxxxxxxxxxxx", "storedKey" : "xxxxxxxxxxxxx", "serverKey" : "xxxxxxxxxxxxxxxx" } }, "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "xxxxxx" } ] }
关闭mongo
取消认证开启mongodb
> use admin
switched to db admin
> var schema = db.system.version.findOne({"_id" : "authSchema"})
> schema.currentVersion = 3
3
> db.system.version.save(schema)
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
然后删除以前创建的用户
> use userdb
switched to db userdb
> db.dropUser("xxxxx")
true
再创建用户然后查看用户会显示
{ "_id" : "xxx.xxx", "user" : "xxx", "db" : "xxx", "credentials" : { "MONGODB-CR" : { "iterationCount" : 10000, "salt" : "Ixxxxxxxxxxxx", "storedKey" : "xxxxxxxxxxxxx", "serverKey" : "xxxxxxxxxxxxxxxx" } }, "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "xxxxxx" } ] }
重启mongodb就可以用了。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。