`

mongodb用户认证

 
阅读更多

下载的mongodb3.2.1版本,当使用--auth 参数命令行开启mongodb用户认证时遇到很多问题,现总结如下: 

      (百度上搜到的基本都是老版本的,看到db.addUser的就是,请忽略) 
3.0之后,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 }) 

原因是原来创建的用户已经使用了SCRAM-SHA-1认证方式 
> use admin 
switched to db admin 
> db.system.users.find() 
[...] 
{ "_id" : "test.zxx", "user" : "zxx", "db" : "test", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "XXXXXXXXXXXXXXXXXXXXXXXX", "storedKey" : "XXXXXXXXXXXXXXXXXXXXXXXXXXX", "serverKey" : "XXXXXXXXXXXXXXXXXXXXXXXXXXX" } }, "roles" : [ { "role" : "dbOwner", "db" : "test" } ] } 

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

分享到:
评论

相关推荐

    Linux下安装MongoDB复制集+用户认证,与Spring集成操作

    接下来,我们谈谈**MongoDB用户认证**。用户认证是保护数据库免受未经授权访问的重要措施。在MongoDB中,可以在特定的数据库下创建用户,并分配相应的角色,如`readWrite`、`dbAdmin`等。 1. **创建用户**:在...

    MongoDB安全认证_windows教程

    MongoDB安全认证是确保数据库系统安全的重要环节,尤其是在分布式环境中如副本集。在Windows平台上设置MongoDB的安全认证,主要涉及以下几个关键步骤: 1. **开启验证**:在单机环境下,只需在启动`mongod`服务时...

    mongodb数据库详细使用教程.zip_mongodb为什么快

    mongodb数据库详细教程.zip 启动方式:非auth验证方式启动mongo,以auth方式启动mongo 增删查改,批量更新 迁移mongodb数据库 可视化工具 指定数据库文件存放位置 忘记mongodb密码怎么办 mongodb用户认证,权限管理

    Laravel开发-laravel-mongodb-auth

    最后,不要忘记更新路由文件,为MongoDB用户认证提供正确的路由。例如,创建、登录、登出等操作。 通过以上步骤,你就成功地在Laravel 5.3项目中实现了使用MongoDB进行身份验证,并且能够与Laravel Passport的用户...

    centos7下mongodb4.0.6分片集群搭建(psa)-用户认证关键问题汇总

    公司单节点升级到分片下,搜索了一圈大多数MongoDB集群的部署方案都是分片+副本集,没有讲述如何从单节点升级到分片+复制集的方法,亲自试验后记录整个过程以及中间的参考内容和疑难解决,以备后查。内容包含复制集+...

    关于Mongodb 认证鉴权你需要知道的一些事

    MongoDB 是一款流行的开源文档型数据库,其默认情况下在启动时不开启任何认证,这意味着任何人都可以访问和修改数据库,这无疑给数据库的安全性带来了风险。在遭受黑客攻击后,了解并实施MongoDB的认证鉴权机制变得...

    mongodb副本集测试用户验证.pdf

    为了进一步增强安全性,MongoDB支持使用`keyfile`进行认证。通过`openssl rand -base64 400`生成一个密钥文件,将其放在所有副本集节点的相应配置目录下。然后,在每个节点的配置文件中启用`keyFile`选项,设置为...

    mongodb副本集搭建

    在主节点的 MongoDB 客户端上验证用户认证,包括认证用户和查看数据库等。 四、问题解答 在 MongoDB 副本集中,存在一些常见的问题,例如从库中无法查看数据的原因是 not master and slaveOk=false,解决办法是从...

    基于Python、Django和MongoDB构建的多用户博客系统.zip

    4. **用户注册与认证**: Django提供了内置的用户认证系统,可以处理用户注册、登录、密码重置等功能。在这个博客系统中,用户需要注册账户才能发布和管理自己的文章,同时,系统还需要确保用户数据的安全性。 5. **...

    MongoDB查询练习题及答案

    MongoDB 是一种流行的 NoSQL 数据库,以文档型数据存储为主,支持丰富的查询表达能力。在本题中,我们将探讨 MongoDB 的查询操作,基于提供的 `user1` 和 `user2` 文档进行练习。 首先,让我们熟悉一下 `db.users....

    MongoDB使用手册

    10. **安全与认证**:MongoDB有强大的安全特性,包括用户认证、角色权限、SSL连接和审计日志。`use admin`后运行`db.runCommand({getUsers: 1})`可查看用户信息。 11. **备份与恢复**:MongoDB提供了多种备份和恢复...

    mongodb Windows7 64位

    - 用户认证:默认情况下,MongoDB在本地网络上允许所有连接。为了增强安全性,应创建用户并启用身份验证。在MongoDB 3.0.2版本中,可以在命令行中使用`--auth`选项启动服务,然后在MongoDB Shell中创建用户。 - ...

    MongoDB Days 2015 深圳 PPT 共享

    通过MongoDB Day 2015 深圳的PPT共享,参与者可能获得了更深入的技术洞察,了解到如何利用MongoDB来解决实际业务问题,并与其他MongoDB用户和专家交流经验,共同推动技术的进步。如果你对MongoDB感兴趣,这些资料会...

    MongoDB4.2.6资源下载

    1. **多文档事务**:MongoDB 4.2引入了对多文档ACID(原子性、一致性、隔离性和持久性)事务的支持,这意味着用户可以在一个事务中处理多个文档,提供了与传统关系型数据库相似的事务处理能力。这对于跨集合操作和...

    MongoDb db.createUser用户权限

    MongoDB 3.6 之后,建议使用 `createUser` 的 `pwd` 参数配合 ` scram-sha-256` 认证机制。 - `customData`: 可选参数,可以存储关于用户的一些自定义信息。 - `roles`: 必填参数,指定用户的角色。角色决定了用户对...

    一个Go Golang后端干净架构项目,包含Gin MongoDB JWT认证中间件测试和Docker.zip

    JWT包含三部分:头部、负载和签名,可以在客户端和服务器之间无状态地传输用户认证信息。在这个项目中,JWT被用作认证中间件,用户登录成功后会获取到一个JWT,后续请求将此JWT作为凭证,服务器验证其有效性,实现无...

    MongoDB安装包

    在实际应用中,还需要考虑MongoDB的安全性,包括设置用户认证、网络访问控制、数据加密以及定期备份与恢复策略。理解这些核心概念和操作将有助于你更好地利用MongoDB构建和管理高效的数据存储解决方案。

    mongodb-4.0.4_windows

    1. **事务支持**:MongoDB 4.0开始支持多文档ACID事务,这意味着用户可以在单个操作中执行跨多个文档的读写操作,提高了数据一致性。 2. **聚合框架优化**:4.0版本改进了聚合框架的性能,使得复杂查询和分析操作更...

    mongodb高可用所需yaml

    9. **安全性**:Kubernetes允许通过Secrets和ConfigMaps来安全地管理MongoDB的认证信息,如用户名、密码和连接字符串。同时,可以通过Network Policies限制Pod间的网络通信,提高安全性。 10. **监控与日志**:...

    mongoCertification:Mongodb认证

    4. 加入社区论坛,与其他MongoDB用户交流经验,分享问题和解决方案。 5. 实际操作MongoDB,理论结合实践是最好的学习方式。 总之,MongoDB认证对于希望在大数据、云计算和NoSQL领域发展的人来说是一块重要的敲门砖...

Global site tag (gtag.js) - Google Analytics