mongo3.03开启认证。

mongo3.03开启auth认证后,会有一些以前版本没有的问题,比如3.03以后MongoDB加入了SCRAM-SHA-1校验方式。

创新互联是一家集网站建设、做网站、网站页面设计、网站优化SEO优化为一体的专业网站制作公司,已为成都等多地近百家企业提供网站建设服务。追求良好的浏览体验,以探求精品塑造与理念升华,设计最适合用户的网站页面。 合作只是第一步,服务才是根本,我们始终坚持讲诚信,负责任的原则,为您进行细心、贴心、认真的服务,与众多客户在蓬勃发展的市场环境中,互促共生。

前一日我发现测试新搭建的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 

> 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就可以用了。


文章题目:mongo3.03开启认证。
标题链接:http://scyanting.com/article/iephse.html