【mongodb】mongodb 实现主从复制

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: MongoDB  version: 1.8.3mongodb文档数据库提供了主从复制模式,其实mongodb的主从复制配置很简单,就是启动mongod服务进程的时候 分别指定 --master ,--slave,一个是以主模式启动,另一个属于从模式启动,当主库更新时,数据就会被被复制到从数据库中。
+关注继续查看
MongoDB  version: 1.8.3
mongodb文档数据库提供了主从复制模式,其实mongodb的主从复制配置很简单,就是启动mongod服务进程的时候 分别指定 --master ,--slave,一个是以主模式启动,另一个属于从模式启动,当主库更新时,数据就会被被复制到从数据库中。
此次测试仅在单台服务器上开启2deamon来模拟2台服务器进行主从复制:
主库:./mongod --master --dbpath=/opt/monogdata/data --port=60000
从库:./mongod --slave --dbpath=/opt/monogdata/slavedata/ --port=60010 --source=127.0.0.1:60000

--主库:
[monogdb@yangDB bin]$ ./mongo --port 60000
MongoDB shell version: 1.8.3-rc0
connecting to: 127.0.0.1:60000/test
> show dbs
admin   (empty)
local   1.203125GB
test    0.203125GB
> use test
switched to db test
> show collections --查看主库中的对象
system.indexes   --system.indexes用来存放索引的表
test --一个测试表
--查看test表中的内容
> db.test.find(); --此操作=select * from test;
{ "_id" : ObjectId("4e3fe5d8e138232e61000000"), "id" : 1, "val" : "hello monogdb" }
--向test表中插入数据
> db.test.insert({id:2,val:"yangql is learing monogdb master slave!"});
> db.test.find();                                                      
{ "_id" : ObjectId("4e3fe5d8e138232e61000000"), "id" : 1, "val" : "hello monogdb" }
{ "_id" : ObjectId("4e45291c018d1a0d765a9788"), "id" : 2, "val" : "yangql is learing monogdb master slave!" }
                  
--备库
[monogdb@yangDB bin]$ ./mongo --port=60010
MongoDB shell version: 1.8.3-rc0
connecting to: 127.0.0.1:60010/test
> db
test
> db.printSlaveReplicationInfo(); ---显示主库的信息。
source:   127.0.0.1:60000
         syncedTo: Fri Aug 12 2011 21:19:42 GMT+0800 (CST)
                 = 7secs ago (0hrs)
> show collections
system.indexes
test  --主库的数据已经被复制到从库了
> db.test.find();
{ "_id" : ObjectId("4e3fe5d8e138232e61000000"), "id" : 1, "val" : "hello monogdb" }
--主库更新数据后查看从库。
> db.test.find();
{ "_id" : ObjectId("4e3fe5d8e138232e61000000"), "id" : 1, "val" : "hello monogdb" }
{ "_id" : ObjectId("4e45291c018d1a0d765a9788"), "id" : 2, "val" : "yangql is learing monogdb master slave!" }
--测试在从库更新数据,但是不成功!
> db.test.insert({id:2,val:"yangql is writing things to  slave,but it can`t do this!"});                                    
not master
> db.test.find();  
{ "_id" : ObjectId("4e3fe5d8e138232e61000000"), "id" : 1, "val" : "hello monogdb" }
{ "_id" : ObjectId("4e45291c018d1a0d765a9788"), "id" : 2, "val" : "yangql is learing monogdb master slave!" }
monogdb的主从复制是不能达到主库当机以后,从库自动升级到主库的,而Replica Pairs借用arbiter可以完成主从故障迁移 。

参考资料:

相关实践学习
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
目录
相关文章
|
3月前
|
存储 JSON NoSQL
MongoDB
MongoDB 是一个基于分布式文件存储的数据库,使用 C 语言编写。它旨在为 Web 应用提供可扩展的高性能数据存储解决方案。MongoDB 介于关系数据库和非关系数据库之间,支持的数据结构非常松散,类似于 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。MongoDB 的最大特点是支持强大的查询语言,其语法类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能。
76 1
|
4月前
|
NoSQL 前端开发 MongoDB
MongoDB应用
初始化路由模板 数据库和前端页面交互 编写注册的后台接口 先连接数据库 和前台进行数据交互 文章的后台接口 先查询所有的文章内容 发文章 一些验证方法 邮箱验证 用户名随机生成
25 0
|
4月前
|
存储 NoSQL 定位技术
MongoDB的特点
MongoDB的特点
126 1
|
5月前
|
NoSQL MongoDB 数据库
【mongo 系列】mongodb 学习九,MongoDB 主从集群 2
继续咱们 mongodb 集群的学习和分享 上次分享了 mongodb 主从集群的同步机制(oplog),心跳机制,这次我们继续看看选举机
|
5月前
|
存储 NoSQL 网络协议
【mongo 系列】mongodb 学习八,MongoDB 主从集群 1
说到集群,生产环境中很多服务都会进行集群部署,那么 mongodb 的集群都有哪些知识点需要掌握呢
|
存储 缓存 NoSQL
MongoDB 使用介绍
MongoDB 是由 C++ 语言编写的,是一个基于分布式文件存储的非关系型开源数据库系统。其优势在于可以存放海量数据,具备强大的查询功能,是一个独立的面向集合文档形式的。
246 0
MongoDB 使用介绍
|
存储 分布式计算 NoSQL
MongoDb的主要特点
MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易
205 0
|
存储 缓存 NoSQL
初探MongoDB
MongoDB 日志 存储引擎
1219 0
推荐文章
更多