mongo副本集权限配置(centos7)

7 篇文章 0 订阅
2 篇文章 0 订阅

上一章配置完副本集后,紧接着继续配置数据库权限。链接直通车:https://blog.csdn.net/liubo_2016/article/details/91871268

开启安全认证

创建用户

登录 PRIMARY节点创建用户,在此我们对 test 库开启安全认证。

先创建全局管理员用户:db.createUser({user:"root",pwd:"ygW_2019",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})

然后创建测试库读写权限用户: db.createUser({ user: "admin",pwd: "ygW_2019",roles: [{role: "readWrite",db: "test"}]})

创建keyFile文件
先停掉所有SECONDARY节点的MongoDB服务,然后再停掉PRIMARY节点的MongoDB服务,并在PRIMARY节点所在服务器上创建keyFile文件。(注:如果mongo服务器没有安装openssl,需要先安装:yum install openssl

)

 指令如下: mongod --shutwodn --dbpath /usr/local/mongodb-4.0.2/data

                 openssl rand -base64 666 > /usr/local/mongodb-4.0.2/keyfile


将生成的keyFile文件拷贝到其他节点服务器上,并修改文件的操作权限为 600。

 指令:  chmod 600 /usr/local/mongodb-4.0.2/keyfile   

 如下图:

更新启动配置文件
修改PRIMARY节点(10.1.1.68)的 mongodb.conf 文件,增加如下内容:

# Add auth Config
auth=true
oplogSize=100
keyFile=/usr/local/mongodb-4.0.2/keyfile


修改SECONDARY节点(10.1.1.69,10.1.1.70)的 mongodb.conf 文件,增加如下内容:

# Add auth Config
oplogSize=100
keyFile=/usr/local/mongodb-4.0.2/keyfile
 
启动副本集
先以 --auth 方式启动PRIMARY节点:   mongod -f /usr/local/mongodb-4.0.2/mongodb.conf

再启动SECONDARY节点:

mongod -f /usr/local/mongodb-4.0.2/mongodb.conf

登录测试

  mongo -uadmin -pygW_2019 10.1.1.68:27017   --- 如下图:


admin用户只能看到test库。 

但是问题来了,这时候再去查看副本集的状态,提示权限不足:

因为之前创建root用户时,只给了角色dbAdminAnyDatabase权限,所以在操作rs.config(),rs.status()时,提示没有权限操作;

帐号是跟着库走的,所以在指定库里授权,必须也在指定库里验证(auth)

我们只需给root重新赋权就好了,

db.updateUser("root", {
    pwd: "ygW_2019",
    roles: [{
            role: "dbOwner",
            db: "admin"
        }, {
            role: "clusterAdmin",
            db: "admin"
        }, {
            role: "userAdminAnyDatabase",
            db: "admin"
        }, {
            role: "dbAdminAnyDatabase",
            db: "admin"
        }, {
            role: "root",
            db: "admin"
        }

    ]
})

如下图:

然后我们在查看副本集状态:rs.status(),可以看到了,如下图:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值