MongoDB 副本集及安全配置说明
- 在所有节点创建超级管理员
db.createUser({user: "admin",pwd: "password",roles: ["root"]})
- 配置/etc/mongod.conf文件
security:
authorization: enabled
keyFile: /data/mongodb/rs1.key
replication:
replSetName: rs1
- 生成keyFile文件
openssl rand -base64 756 > /data/mongodb/rs1.key
chown mongodb:mongodb /data/mongodb/rs1.key
chmod 400 /data/mongodb/rs1.key
- 初始化副本集并添加成员
rs.initiate({_id: "rs1",members: [{ _id: 0,host: "mongodb-1:27017",priority: 10 }]})
rs.add("mongodb-2:27017")
rs.addArb("mongodb-arb:27017")
- 调整成员优先级
var cfg=rs.config()
cfg.members[1].priority=0
rs.reconfig(cfg)
警告:rs.reconfig() shell 方法可以强制当前主节点下台,从而导致选举。 当主节点下台时,mongod 关闭所有客户端连接。 虽然这通常需要 10-20 秒,但请尝试在计划维护期间进行这些更改。避免重新配置包含不同 MongoDB 版本成员的副本集,因为 MongoDB 版本之间的验证规则可能不同。
- 查看副本集状态
rs.status()
rs.isMaster()
- 查看副本集配置
rs.conf()
- 查看Secondary同步状态
rs.printReplicationInfo()
rs.printSecondaryReplicationInfo()