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'
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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 让容器管理更轻松!