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

mongodb集群增加登录密码验证

阅读更多

在部署mongodb集群的时候,有些安全性要求比较高的地方,需要启用密码验证的方式,登录mongo集群。

下面的方式是在mongodb 3.6版本的基础上,3个节点的集群里设置的。

 

1.生成集群验证key文件

 

1)进入mongodb的data目录,创建keyfile目录

 

2)使用openssl生成key文件

 

3)修改key文件权限为400

 

4)复制该key文件到每个mongodb节点对应目录

 

命令如下:

 

#cd /home/memdb/mongodb/conf

#openssl rand -base64 741 > /home/mongodb/data/mongo-keyfile

#chmod 400 ./ mongo-keyfile

 

2.创建验证用户

 

在未启用验证前,创建用户:

 

1)使用mongo连接mongos端口:

        $bin/mongo IP:mongos port

 

2)切换到admin库,创建用户:

 

use admin
db.createUser( {
    user: "cluster",
    pwd: "cluster",
    roles: [ { role: "clusterAdmin", db: "admin" } ]
  });
db.createUser( {
    user: "super",
    pwd: "super",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  });
use test
db.createUser(
  {
    user: "admin",
    pwd: "admin",
    roles:
    [
      {
        role: "dbOwner",
        db: "test"
      }
    ]
  }
)

 

     

 

3.  增加配置文件的验证属性

 

1)  Mongo.conf文件:

 

security:

  keyFile: "/home/mongodb/data/mongodb-keyfile"

  clusterAuthMode: "keyFile"

      authorization: "enabled"

 

config和mongos只增加上面2个属性即可。

4.重启集群

上面完成之后,重启整个mongodb集群。

按照原来顺序启动如有错误,启动顺序可改为

    1) 先启动所有config组件

    2) 再启动所有mongod组件

    3) 最后启动mongos组件

分享到:
评论

相关推荐

    MongoDB集群测试代码

    在这个“MongoDB集群测试代码”中,我们关注的是MongoDB的两个关键特性:副本集(Replica Set)和分片(Sharding),以及如何通过配置文件和脚本来进行集群的设置与测试。 1. **副本集(Replica Set)**: - 副本...

    C#开发的Mongodb集群自动部署工具

    本项目是用C#语言开发的一个MongoDB集群自动部署工具,它的主要目标是简化在Linux服务器上部署和管理MongoDB副本集的过程。C#是一种通用的、面向对象的编程语言,通常用于Windows平台,但通过.NET框架和开源库,也...

    MongoDB集群搭建

    ### MongoDB集群搭建详解 #### 一、MongoDB集群概述 MongoDB是一种非常流行的NoSQL数据库系统,因其灵活性、可扩展性和高性能而广泛应用于各种场景。MongoDB支持多种部署模式,其中集群部署是实现高可用性与横向...

    python连接mongodb集群方法详解

    在Python中连接MongoDB集群是一项常见的任务,特别是在大型项目中,使用MongoDB的分布式特性可以提高数据处理的效率和可用性。以下将详细介绍如何使用Python的`pymongo`库来连接MongoDB集群。 首先,我们需要了解...

    Mongodb 忘记密码的解决办法

    解决这个问题的基本思路是通过修改MongoDB配置文件来临时禁用身份验证,然后通过无密码登录来重置密码。以下是具体的步骤: 1. **修改配置文件**: 打开MongoDB的配置文件,通常位于`/etc/mongodb.conf`。使用文本...

    mongodb基础使用教程

    本文将介绍MongoDB的基本使用方法,包括环境搭建、登录安全配置以及如何在Spring Boot项目中集成MongoDB集群。 ### MongoDB基础环境搭建 搭建MongoDB环境的第一步是下载最新版本的安装包。目前,MongoDB社区版的...

    mongodb开启SSL传输加密

    请注意,`pemFiles`包含客户端证书,`pemKeyPassword`是解密私钥的密码(如果需要),而`caFile`是CA文件,用于验证服务器的身份。 5. **验证连接**:成功连接后,可以通过查询`serverStatus`命令查看SSL连接状态...

    MongoDB安装及副本、集群搭建

    ### MongoDB安装及副本、集群搭建详解 #### 一、MongoDB基本安装流程 **1. 创建MongoDB用户及设置密码** - 在Linux系统中,首先需要为MongoDB创建一个专用的用户账户,并为其设置密码。 ```bash useradd ...

    MongoDB 4.4 数据库全部参数详细说明

    - `scramIterationCount` 和 `scramSHA256IterationCount`:SCRAM密码哈希迭代次数,用于增加密码安全性。 ### 一般参数 这些参数影响数据库的整体行为和资源管理: - `connPoolMaxShardedConnsPerHost`:每个分片...

    mongodb-linux-i686-3.0.2

    在高可用性和扩展性方面,MongoDB 3.0.2支持复制集和分片集群。复制集能够提供数据冗余和故障转移,确保服务的持续性;分片集群则可以通过将数据分布在多个服务器上,实现水平扩展,处理大规模的数据量。 在压缩...

    mongodb-win32-i386-3.2.18.zip

    4. **安全增强**:此版本增强了安全性,包括支持SCRAM-SHA-256身份验证机制,提高了密码的安全性,同时支持X.509证书认证,增强了网络通信的安全。 5. **地理位置索引改进**:MongoDB 3.2对地理位置索引进行了优化...

    MongoDB 2.2

    MongoDB 2.2支持SCRAM-SHA-1认证协议,提高了密码安全性。同时,权限管理更加精细,用户可以为特定的数据库和集合设置访问权限。 5. **复制集改进**:MongoDB 2.2的复制集功能也得到了强化,提升了数据冗余和容错...

    MongoDB Training

    所有客户端都必须经过用户名/密码验证才能访问数据库。 **2.4 DBA常用命令** - **帮助命令:** `help`显示帮助信息;`show dbs`列出所有数据库;`show collections`列出当前数据库中的集合;`show users`列出当前...

    Mongodb4.x介绍以及Mongodb账户权限配置1

    MongoDB 是一个流行的开源文档型数据库系统,设计用于处理大量数据并提供高可用性和灵活性。在 MongoDB 4.x 版本中,引入了许多增强的...遵循最佳实践,结合适当的权限分配,可以有效地管理和保护你的 MongoDB 集群。

    拓展配置php环境下的mongoDb的数据库文件v5.4-5.6

    MongoDB 是一个高性能、分布式、开源的文档型数据库,它以JSON格式的数据存储,灵活性高,适合处理大量的半结构化数据。在PHP环境下,为了能够与MongoDB进行交互,我们需要安装并配置PHP的MongoDB扩展。 ...

    Windows平台配置MongoDB

    如果启用了身份验证,需要在连接时提供用户名和密码,如:`mongo --username myUser --password myPassword --authenticationDatabase admin`. 9. **备份与恢复** 要备份MongoDB数据,可以使用`mongodump`工具;...

Global site tag (gtag.js) - Google Analytics