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 --auth4:指定集群和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");
rs.remove("121.40.42.216:27019");
userAdminAnyDatabase 所有数据库的管理角色 readWriteAnyDatabase 所有数据库的读写角色
use admin
db.createUser({'user':'mofi***min', 'pwd':'mo******650', 'roles':[ { role: "userAdminAnyDatabase", db: "admin" }, { role: "readWriteAnyDatabase", db: "admin" }, { role: "clusterAdmin", db: "admin" }, { role: "root", db: "admin" }
]}) db.auth("mofingAdmin","mofingA*****650")
db.auth("mofing","mofi*****52650")
注意: 高版本可以集群低版本的,反之不行
最后成功从工具连接如下: