mognodb3.4复制集从无密码到密码无需downtime(新特性)

mognodb3.4复制集从无密码到密码无需downtime(新特性)

现有mongodb复制集信息

主机 端口 状态
192.168.201.129 5000 secondary
192.168.201.130 5000 primary
192.168.201.132 5000 secondary

1、首先创建administrator 用户

admin = db.getSiblingDB("admin")
admin.createUser(
  {
    user: "admin",
    pwd: "admin123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

2、创建集群管理用户

db.getSiblingDB("admin").createUser(
  {
    "user" : "clmanager",
    "pwd" : "clmanager123",
    roles: [ { "role" : "clusterAdmin", "db" : "admin" } ]
  }
)

3、 创建业务用户

db.getSiblingDB("foo").createUser(
  {
    "user" : "joe",
    "pwd" : "changeme2",
    roles: [ { "role" : "readWrite", "db" : "foo" } ]
  }
)

4、创建key文件

openssl rand -base64 756 > <path-to-keyfile>
chmod 400 <path-to-keyfile>

5、 确定key的位置并复制key文件到复制集的每一个节点

6、 使用transitionToAuth参数重启复制集secondary或者arbiter
6.1. 登录192.168.201.129添加如下内容

security:
	keyFile: /data/nosql/mongo/mongod/5000/keys/key
	clusterAuthMode: keyFile
	transitionToAuth: true

6.2. 重启192.168.201.129上的mognodb

 /usr/local/mongodb-3.4.18/bin/mongod -f /etc/mongod_5000.conf  --shutdown
 /usr/local/mongodb-3.4.18/bin/mongod -f /etc/mongod_5000.conf

6.3. 登录 192.168.201.132 重复6.1/6.2 步骤

6.4. 登录 192.168.201.130(primary)

	rs.stepDown()
	重复步骤 6.1/6.2			

7 去掉transitionToAuth参数重启复制集secondary或者arbiter
7.1. 登录192.168.201.130去掉配置文件如下内容

		transitionToAuth: true

7.2. 重启192.168.201.130上的mognodb

	 /usr/local/mongodb-3.4.18/bin/mongod -f /etc/mongod_5000.conf  --shutdown
	 /usr/local/mongodb-3.4.18/bin/mongod -f /etc/mongod_5000.conf

7.3. 登录 192.168.201.132 重复6.1/6.2 步骤

7.4. 登录 192.168.201.129(primary)

		rs.stepDown()
		重复步骤 6.1/6.2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值