MongoDB - 复制数据

MongoDB - 复制数据 首页 / MongoDB入门教程 / MongoDB - 复制数据

复制是跨多个服务器同步数据的过程,复制提供了冗余,并通过不同数据库服务器上的多个数据副本提高了数据可用性,复制可防止数据库丢失单个服务器。复制还允许您从硬件故障和服务中断中恢复,使用其他数据副本,您可以将其专用于灾难恢复,报告或备份。

复制工作方式

MongoDB通过使用副本集来实现复制,副本集是一组托管相同数据集的 mongod ,在副本中,一个节点是接收所有写操作的主节点。

显示了MongoDB复制的典型示意图,其中客户端应用程序始终与主节点进行交互,然后主节点将数据复制到辅助节点。

MongoDB Replication

设置副本集合

在本教程中,无涯教程将把独立的MongoDB转换为副本集合,要转换为副本集,请按照以下步骤操作:

  • 关闭已在运行MongoDB服务器。

  • 通过指定-replSet选项启动MongoDB服务器。以下是--replSet 的基本语法

mongod --port "PORT" --dbpath "YOUR_DB_DATA_PATH" --replSet "REPLICA_SET_INSTANCE_NAME"

设置副本集 - 示例

mongod --port 27017 --dbpath "D:\set up\mongodb\data" --replSet rs0
  • 它将在端口27017上启动名为rs0的mongod。

  • 现在启动命令提示符并连接到此mongod。

  • 在Mongo客户端中,发出命令 rs.initiate()以启动新的副本集。

  • 要检查副本集配置,请发出命令 rs.conf(),要检查副本集的状态,请发出命令 rs.status()。

添加到副本集

要将元素添加到副本集,请在多台计算机上启动mongod,现在启动一个mongo客户端并发出命令 rs.add()。

无涯教程网

rs.add()命令的基本语法如下:

>rs.add(HOST_NAME:PORT)

添加到副本集 - 示例

假设您的mongod名称为 mongod1.net 并且它在端口 27017 上运行,要将此添加到副本集,请在Mongo客户端中发出命令 rs.add()。

链接:https://www.learnfk.comhttps://www.learnfk.com/mongodb/mongodb-replication.html

来源:LearnFk无涯教程网

>rs.add("mongod1.net:27017")
>

仅当连接到主​​节点时,才能将mongod添加到副本集,检查您是否连接到主服务器,请在mongo客户端中发出命令 db.isMaster()。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

DevOps实战笔记 -〔石雪峰〕

Electron开发实战 -〔邓耀龙〕

A/B测试从0到1 -〔张博伟〕

如何读懂一首诗 -〔王天博〕

手把手带你写一门编程语言 -〔宫文学〕

手把手带你搭建秒杀系统 -〔佘志东〕

深入拆解消息队列47讲 -〔许文强〕

徐昊 · AI 时代的软件工程 -〔徐昊〕

工程师个人发展指南 -〔李云〕

好记忆不如烂笔头。留下您的足迹吧 :)