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: 成功之后就相当于:
4:指定集群和mongodb.key的路径等:
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")
注意: 高版本可以集群低版本的,反之不行
最后成功从工具连接如下: