搭建MongoDB主从复制(Master-Slave)

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介:

 主从复制是MongoDB数据库一种特性,它通过数据备份来提高数据库的容灾能力。但是由于主从复制并不能自动实现故障转移的特性,MongoDB在1.6版本开发了新的复制模式:Replicate Sets。MongoDB建议不要再使用Master-Slave模式对数据进行备份。但是对于学习来说,我们仍可以了解一下MongoDB的主从复制模式。


  1. 从MongoDB官网下载最新版的MongoDB,解压到某个目录。


  2.在MongoDB文件夹下,创建/data/master和/data/slave目录。


  3.启动主节点(Master)的服务器,运行下面的命令:


mongod --dbpath /data/master --port 10000 --master

  执行完上面的命令后,mongodb会在data/master下生成数据文件和日志文件


  4.启动从节点(Slave)的服务器,运行下面的命令:


mongod --dbpath /data/slave --port 10001 --slave --source localhost:10000

  执行完上面命令后,同样会在data/slave下生成数据文件和日志文件,并在local数据库下的sources表下创建与master的关联信息


  5.测试主从复制(Master-Slave)是否生效。


  使用“mongo localhost:10000”打开Master数据库,插入一条测试语句:
  db.test.find();
  db.test.insert({“host”:“1000”});

  db.test.find();


  使用“mongo localhost:10001”打开Slave数据库,运行db.test.find()会发现查询出来的数据与从Master数据库中查询的数据相同。


wKiom1M1Gt6isW7sAAIuW29L1b8057.jpg


  运行db.test.insert({"girl":"lili"}); 则会显示not master。这是因为主从复制模式只允许从Master数据库更新数据,而不允许从Slave数据库更新数据。正因此,当Master发生故障时,从节点无法转换为主节点的劣势就暴漏了出来。






本文转自 genuinecx 51CTO博客,原文链接:http://blog.51cto.com/favccxx/1386026,如需转载请自行联系原作者
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
存储 NoSQL Linux
玩转MongoDB—搭建MongoDB集群
如题,本次玩转MongoDB我们从搭建集群开始,话说MongoDB一共有三种搭建集群的方式,但是由于版本更新,据说在4.0版本之后第一种方式,也就是主从复制的方式被遗弃掉了,大概是因为这种方式的效率不高吧,因为目前我们使用的是5.x版本,因此就不花时间讲解第一种方式了,在其他的文章上摘录了一下,可供大家参考。重点还是要放在后两种。
575 0
玩转MongoDB—搭建MongoDB集群
|
存储 运维 监控
ELK搭建(十一):搭建MongoDB运行情况监控平台
mongoDB作为基于磁盘的非关系型数据库,JSON格式数据存储方式,具有优秀的查询效率。越来越多的场景使用到了MongoDB。在生产运维中,更需要我们能够实时的掌握mongo的运行情况,以方便我们数据库运行问题做出及时的调整和补救。
268 0
ELK搭建(十一):搭建MongoDB运行情况监控平台
|
存储 NoSQL 前端开发
vue2全家桶+koa2+mongodb搭建一个简单伪全栈博客
本来不想推的,看到github上有个项目很简单,都有300 star,推推看咯。
vue2全家桶+koa2+mongodb搭建一个简单伪全栈博客
|
NoSQL 中间件 MongoDB
后端小白的我,是如何成功搭建 express+mongodb 的简洁博客网站后端的
后端小白的我,是如何成功搭建 express+mongodb 的简洁博客网站后端的
215 0
|
存储 NoSQL MongoDB
MongoDB-通过docker搭建一个用来练习的mongodb数据库
目前所在的公司,有部分数据是存储在MongoDB中的,而且目前今后的工作可能会偏向于验证数据,因此需要掌握对这个数据库的一些基本用法,怕有些操作到时候不敢直接在公司数据库上进行操作,先在自己服务器上学习一下基本的用法。
MongoDB-通过docker搭建一个用来练习的mongodb数据库
|
Linux Docker 容器
Centos7基于Docker搭建mongodb
Centos7基于Docker搭建mongodb
539 0
Centos7基于Docker搭建mongodb
|
域名解析 NoSQL Shell
如何快速搭建免费云上 MongoDB 副本集群
本文将为大家介绍如何在云上快速搭建免费的 MongoDB 副本集群。
918 0
如何快速搭建免费云上 MongoDB 副本集群
|
NoSQL atlas MongoDB
|
NoSQL Redis 开发者
Redis&MongoDB 社区双周刊第3期:Redis主从复制基本原理
云栖社区已有1000位Redis&MongoDB开发者,发布了5000+Redis文章,发布了2000+MongoDB文章,沉淀了800+的Redis精品问答,沉淀了1000+的MongoDB精品问答。
4585 0
|
NoSQL MongoDB 网络协议
puppet连载19:搭建mongodb
cd /puppet/soft wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-3.
818 0