`
liuhaixiao
  • 浏览: 143288 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mongodb3.03开启认证-mongoVUE1.6.9登录解决

 
阅读更多

摘抄自: http://21jhf.iteye.com/blog/2216103

下载了最新mongodb3.03版本,当使用--auth 参数命令行开启mongodb用户认证时遇到很多问题,现总结如下: 
(百度上搜到的基本都是老版本的,看到db.addUser的就是,请忽略) 
Windows下我做了一个bat文件,用来启动mongodb,命令行如下: 
mongod --dbpath db\data --port 27017 --directoryperdb --logpath db\logs\mongodb.log --logappend --auth 
最后的参数就是开启和关闭认证,如果是conf配置文件,应该是auth=true或false 
1,首先关闭认证,也就是不带--auth参数,启动mongodb 
2,使用命令行进入mongodb目录,输入mongo命令,默认进入test数据库 
3,use userdb  切换到自己的数据库,输入db,显示userdb 
4,创建用户,角色为dbOwner,数据库为userdb,命令行应该是db.createUser({user:'myuser',pwd:'123456',roles:[{role:'dbOwner',db:'userdb'}]}) 
5,切换到admin数据库,use admin,db ,显示admin,db.shutdownServer()关闭服务器,填上认证参数,启动mongodb;以前的版本此时使用mongovue就可以使用myuser登录到userdb数据库上了,但是3.0.3版本不行,打开mongodb.log文件发现如下错误 

authenticate db: userdb { authenticate: 1, nonce: "xxx", user: "myuser", key: "xxx" } 
2015-06-02T09:57:18.877+0800 I ACCESS   [conn2] Failed to authenticate myuser@userdb with mechanism MONGODB-CR: AuthenticationFailed MONGODB-CR credentials missing in the user document 


此1-5步骤针对是3.0.3以前版本已经ok,如果是3.0.3,mongodb加入了SCRAM-SHA-1校验方式,需要第三方工具配合进行验证,下面给出具体解决办法: 
首先关闭认证,修改system.version文档里面的authSchema版本为3,初始安装时候应该是5,命令行如下: 
> 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 }) 

不过如果你现在开启认证,仍然会提示AuthenticationFailed MONGODB-CR credentials missing in the user document 
原因是原来创建的用户已经使用了SCRAM-SHA-1认证方式 
> use admin 
switched to db admin 
> db.system.users.find() 
[...] 
{ "_id" : "userdb.myuser", "user" : "myuser", "db" : "userdb", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "XXXXXXXXXXXXXXXXXXXXXXXX", "storedKey" : "XXXXXXXXXXXXXXXXXXXXXXXXXXX", "serverKey" : "XXXXXXXXXXXXXXXXXXXXXXXXXXX" } }, "roles" : [ { "role" : "dbOwner", "db" : "userdb" } ] } 

解决方式就是删除刚刚创建的用户,重新重建即可: 
> use userdb 
switched to db userdb 
> db.dropUser("myuser") 
true 
>db.createUser({user:'myuser',pwd:'123456',roles:[{role:'dbOwner',db:'userdb'}]}) 
然后关闭服务器,开启认证,重启服务器,用mongovue连接,一切OK 

分享到:
评论

相关推荐

    MongoVUE 1.6.9 破解版

    MongoVUE是一个windows下的MongoDB GUI客户端。 破解方法: 解压后双击Installer.msi安装软件 安装后将MongoVUE.exe文件覆盖到C:\Program Files\MongoVUE\MongoVUE 1.6.9\目录下即可

    mongodb客户端工具---MongoVUE

    MongoVUE 是一款适用于Windows操作系统的MongoDB窗口化应用程序,它使得您能够非常容易的操作MongoDb数据库的同时熟悉MongoDb的命令行。

    MongoVUE 1.6.9最新破解版.zip

    MongoVUE v1.6.9安装说明:解压后双击Installer.msi安装软件,安装后将MongoVUE.exe文件覆盖到C:\Program Files\MongoVUE\MongoVUE 1.6.9\目录下即可。MongoVUE是一款WINDOWS系统下的MongoDB客户端管理软件,GUI...

    mongoVUE1.6.9

    mongodb可视化工具,mongoVUE1.6.9版本,开发mongodb数据库相关

    MongoVUE_1.6.9 破解版本

    MongoDB可视化工具,MongoVUE1.6.9破解版本

    MongoVUE 1.6.9

    MongoVUE,具体参见博文http://blog.csdn.net/l1028386804/article/details/70136993

    mongodb-driver-sync-4.2.3-API文档-中英对照版.zip

    赠送jar包:mongodb-driver-sync-4.2.3.jar; 赠送原API文档:mongodb-driver-sync-4.2.3-javadoc.jar; 赠送源代码:mongodb-driver-sync-4.2.3-sources.jar; 赠送Maven依赖信息文件:mongodb-driver-sync-4.2.3....

    MongoVUE,MongoDB客户端

    MongoDB客户端管理工具(MongoVUE),图形显示,开发利器。速度快,安装简单,查询,创建和删除

    mongodb-driver-core-4.2.3-API文档-中文版.zip

    赠送jar包:mongodb-driver-core-4.2.3.jar; 赠送原API文档:mongodb-driver-core-4.2.3-javadoc.jar; 赠送源代码:mongodb-driver-core-4.2.3-sources.jar; 赠送Maven依赖信息文件:mongodb-driver-core-4.2.3....

    开源项目-mongodb-mongo-go-driver.zip

    开源项目-mongodb-mongo-go-driver.zip,Release MongoDB Go Driver Alpha 2 · mongodb/mongo-go-driver

    mongodb-java-driver-4.4.0.jar

    mongodb-java-driver-4.4.0.jar

    去除MongoVUE 1.0以后版本的到期限制补丁

    MongoDB的Window客户端工具MongoVue,地址是http://www.mongovue.com/。是目前不叫流行的连接管理工具,1.0版本的以后开始收费。 此工具使用简单,单击启动便可,原理是因为MongoVUE试用期只有15天,把MongoVUE的...

    rh-mongodb36-mongo-c-driver-1.9.2-2.el7.x86_64.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

Global site tag (gtag.js) - Google Analytics