Mongodb副本集安全认证

通过主节点添加一个管理员帐号

只需要在主节点上添加用户,副本集会自动同步。
开启认证之前,创建超管用户:myroot,密码:123456

myrs:PRIMARY> use admin
switched to db admin
myrs:PRIMARY> db.createUser({user:"myroot",pwd:"123456",roles:["root"]})
Successfully added user: { "user" : "myroot", "roles" : [ "root" ] }
myrs:PRIMARY> db.auth("myroot","123456") 

创建副本集认证的key文件

[root@bobohost ~]# openssl rand -base64 90 -out /var/lib/mongo/mongo.keyfile
[root@bobohost ~]# chmod 400 /var/lib/mongo/mongo.keyfile
[root@bobohost ~]# ll /var/lib/mongo/mongo.keyfile
-r--------. 1 root root 122 8月  14 14:23 mongo.keyfile

提示:
所有副本集节点都必须要用同一份keyfile,一般是在一台机器上生成,然后拷贝到其他机器上,且必须有读的权限,否则将来会报错: permissions on /mongodb/replica_sets/myrs_27017/mongo.keyfile are too open
一定要保证密钥文件一致,文件位置随便。但是为了方便查找,建议每台机器都放到一个固定的位置,都放到和配置文件一起的目录中。
这里将该文件分别拷贝到多个节点中

scp /var/lib/mongo/mongo.keyfile  192.168.1.101:/var/lib/mongo

修改配置文件指定keyfile

将下面配置添加每个节点到配置文件中
keyFile =/var/lib/mongo/mongo.keyfile
auth=true

分别重启启动各个节点

连接测试

mongo --host 192.168.1.103 -u "myroot" --authenticationDatabase "admin" -p'123456'

 

posted @   fat_girl_spring  阅读(826)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示