centos6 之集群 (auth需要密码)可复制集

centos7下应该可用

1:解压之后 ,先删除 旧的 log和data

 2:mkdir -p {data/db,log,conf}

3:openssl rand -base64 100 > /data/software/mongodb/conf/mongodb.key 每台机器都要添加,并且在mgdb.conf下指定

     chmod 600 mongodb.key    这第3步就是设置密码验证的关键.

   Tips:  成功之后就相当于:

    服务器启动需要加上 auth 参数连接服务器才需要验证
    如:mongod -f /soft/mongodb/conf/mgdb.conf --auth

4:指定集群和mongodb.key的路径等:

centos6 之集群 (auth需要密码)可复制集

dbpath=/data/software/mongodb2/data/db
#数据文件存放目录
logpath=/data/software/mongodb2/log/mongodb.log
#日志文件存放目录
port=27019
#端口,默认 27017,可以自定义
logappend=true
#开启日志追加添加日志
fork=true
#以守护程序的方式启用,即在后台运行
bind_ip=0.0.0.0
#本地监听 IP,0.0.0.0 表示本地所有 IP
keyFile=/data/software/mongodb2/conf/mongodb.key
auth=true
#是否需要验证权限登录(用户名和密码)
replSet = configRS
directoryperdb = true
journal = true
 

5:指定主节点和从节点

rs.initiate({
    _id: "configRS",
    version: 1,
    members: [{
        _id: 0,
        host: "120.27.137.0:27018"
    }]
});

 rs.add("121.40.42.216:27017");   //第一次会报错:需要先在admin库中设置权限,如下图:
 rs.add("121.40.42.216:27019"); 

use admin

db.createUser({'user':'mofingAdmin', 'pwd':'mofingAdmin88352650', 'roles':[{ role: "userAdminAnyDatabase", db: "admin" },
        { role: "clusterAdmin", db: "admin" },
        { role: "root", db: "admin" }]})
 
db.auth("mofingAdmin","mofingA*****650")

db.auth("mofing","mofi*****52650")

注意: 高版本可以集群低版本的,反之不行

centos6 之集群 (auth需要密码)可复制集

 

centos6 之集群 (auth需要密码)可复制集

最后成功从工具连接如下:

centos6 之集群 (auth需要密码)可复制集