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

tech2023-08-15  96

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的路径等:

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")

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

 

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

最新回复(0)