mongodb如何做主从?
发布时间:2025-11-05 08:01
发布者:网络
浏览次数:副本集是MongoDB实现高可用的推荐方式,包含一个主节点和多个从节点。创建数据目录后,启动三个带replSet参数的mongod实例,连接任一节点执行rs.initiate()初始化,并用rs.add()添加其他成员。主节点处理写操作,从节点复制数据并可配置读操作。若主节点宕机,系统自动选举新主节点。通过rs.status()可查看节点状态。传统主从模式已废弃,不支持自动故障转移,应使用副本集以获得自动容灾能力。

MongoDB 实现主从复制的方式已经不再推荐使用传统的“主从模式”(Master-Sl*e),而是采用 副本集(Replica Set)来实现高可用和数据冗余。副本集本质上就是现代 MongoDB 中的“主从”机制,但更稳定、支持自动故障转移。
什么是副本集?
副本集是一组 MongoDB 服务器,其中包含一个主节点(Primary)和多个从节点(Secondary)。主节点处理所有写操作,从节点复制主节点的数据并可处理读操作。如果主节点宕机,系统会自动选举一个新的主节点。
搭建副本集的步骤
以下是在本地模拟三个节点搭建副本集的基本流程:
1. 创建数据目录为每个 MongoDB 实例创建独立的数据目录:
- mkdir -p /data/rs1 /data/rs2 /data/rs3
分别启动三个 mongod 进程,并指定副本集名称(如 rs0):
- mongod --port 27017 --dbpath /data/rs1 --replSet rs0 --bind_ip localhost
- mongod --port 27018 --dbpath /data/rs2 --replSet rs0 --bind_ip localhost
- mongod --port 27019 --dbpath /data/rs3 --replSet rs0 --bind_ip localhost
连接到其中一个实例(如 27017),进入 mongo shell:
- mongo --port 27017
执行初始化命令:
Difeye-敏捷的轻量级PHP框架
Difeye是一款超轻量级PHP框架,主要特点有: Difeye是一款超轻量级PHP框架,主要特点
有: ◆数据库连接做自动主从读写分离配置,适合单机和分布式站点部署; ◆支持Smarty模板机制,可灵活配置第三方缓存组件; ◆完全分离页面和动作,仿C#页面加载自动执行Page_Load入口函数; ◆支持mysql,mongodb等第三方数据库模块,支持读写分离,分布式部署; ◆增加后台管理开发示例
0
查看详情
rs.initiate()
rs.add("localhost:27018")
rs.add("localhost:27019")
你会看到 PRIMARY 和 SECONDARY 节点状态自动分配。
验证副本集状态
在 mongo shell 中运行:
rs.status()
可以查看各个节点的角色、同步状态和健康情况。
读写操作说明
默认情况下:
- 所有写操作必须发生在主节点。
- 从节点默认不可读,需启用读选项:
db.getMongo().setSl*eOk()或使用 readPreference 配置。
注意事项
传统主从模式(通过 --master 和 --sl*e 参数)已在新版本中废弃,不支持自动故障转移,容易出问题。强烈建议使用副本集替代。
基本上就这些,用副本集就能实现安全可靠的“主从”效果,还带自动容灾能力。
以上就是mongodb如何做主从?的详细内容,更多请关注其它相关文章!
# go
# mongodb
# 如何做
# 多个
# 不支持
# 并可
# 第三方
# 几项
# 主要特点
# 是一款
# 超轻
# 是在
# 潜江网站推广代运营公司
# 恩施seo获客案例
# 临沧网站建设订制公司
# 辽宁抖音seo哪家强些
# 自媒体医疗营销运营推广
# 梁子湖关键词排名优化
# 信用卡营销外包推广
# 空间刷赞网站推广真人
# 如何做一个小型网站推广
# 阿里如何做好关键词排名




