查看: 3460|回复: 1

【monogdb】monogdb 实现主从复制

[复制链接]
论坛徽章:
27
数据库板块每日发贴之星
日期:2010-06-17 01:01:07迷宫蛋
日期:2011-07-07 15:25:46紫蛋头
日期:2011-08-10 10:31:56ITPUB十周年纪念徽章
日期:2011-09-27 16:33:28ITPUB十周年纪念徽章
日期:2011-11-01 16:25:222012新春纪念徽章
日期:2012-02-07 09:59:35ITPUB知识分享者
日期:2012-02-20 17:49:25铁扇公主
日期:2012-02-21 15:02:40ITPUB年度最佳BLOG写作奖
日期:2012-03-13 17:09:53ITPUB 11周年纪念徽章
日期:2012-10-09 18:14:48
跳转到指定楼层
1#
发表于 2011-8-12 22:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MongoDB  version:1.8.3
monogdb文档数据库提供了主从复制模式,其实monogdb的主从复制配置很简单,就是启动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可以完成主从故障迁移 。

参考资料:
monogdb 主从复制官方介绍
论坛徽章:
27
数据库板块每日发贴之星
日期:2010-06-17 01:01:07迷宫蛋
日期:2011-07-07 15:25:46紫蛋头
日期:2011-08-10 10:31:56ITPUB十周年纪念徽章
日期:2011-09-27 16:33:28ITPUB十周年纪念徽章
日期:2011-11-01 16:25:222012新春纪念徽章
日期:2012-02-07 09:59:35ITPUB知识分享者
日期:2012-02-20 17:49:25铁扇公主
日期:2012-02-21 15:02:40ITPUB年度最佳BLOG写作奖
日期:2012-03-13 17:09:53ITPUB 11周年纪念徽章
日期:2012-10-09 18:14:48
2#
 楼主| 发表于 2011-8-12 22:07 | 只看该作者
附上从库复制的日志:
Fri Aug 12 21:36:58 [replslave] repl:  end sync_pullOpLog syncedTo: Aug 12 21:36:52 4e452c74:1
Fri Aug 12 21:36:58 [replslave] repl: from host:127.0.0.1:60000
Fri Aug 12 21:37:02 [replslave] repl: from host:127.0.0.1:60000
Fri Aug 12 21:37:08 [replslave] repl:   applied 1 operations
Fri Aug 12 21:37:08 [replslave] repl:  end sync_pullOpLog syncedTo: Aug 12 21:37:02 4e452c7e:1
Fri Aug 12 21:37:08 [replslave] repl: from host:127.0.0.1:60000
Fri Aug 12 21:37:12 [replslave] repl: from host:127.0.0.1:60000
Fri Aug 12 21:37:18 [replslave] repl:   applied 1 operations
Fri Aug 12 21:37:18 [replslave] repl:  end sync_pullOpLog syncedTo: Aug 12 21:37:12 4e452c88:1
Fri Aug 12 21:37:18 [replslave] repl: from host:127.0.0.1:60000
Fri Aug 12 21:37:22 [replslave] repl: from host:127.0.0.1:60000
Fri Aug 12 21:37:28 [replslave] repl:   applied 1 operations
Fri Aug 12 21:37:28 [replslave] repl:  end sync_pullOpLog syncedTo: Aug 12 21:37:22 4e452c92:1

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表