Mongo集群之主从复制

  上线的系统,数据存储是重要部位,若一个公司的数据库部署还是待用单点部署,那若是宕机或是机器被损坏则是多糟糕的事情呀。

 

  

  主从复制的部署方式为下图


 

主从复制是一个简单的数据库同步备份集群技术。这种方式简单灵活,可用于备份、故障恢复,读扩展。为了平衡负载,一般通过读写分离模式,即主库写、从库读。


要明确

在数据库集群中要明确知道谁是主服务器,主服务器只有一台

从服务器要知道自己的数据源也就是对于的主服务器是谁

 

这里我们用两台数据库进行模拟,一个主master,一个从数据库。Master用来确定主服务器,slave用来控制增服务器


master配置


 配置主服务器数据库信息

 Master.conf

dbpath=J:\java\mongoSlave\master\database #主服务器地址
port =8888 #主数据库端口号
bind_ip= 127.0.0.1  #主数据库所在服务器
master=true#确定为从服务器


启动配置文件

mast.bat

mongod --configmast.conf


连接数据库文件mongConn.bat

mongo 127.0.0.1:8888

依次启动mast.bat ,mongConn.bat连接数据库

显示登录成功信息



slave配置


  从服务器的配置信息


dbpath=J:\java\mongoSlave\salve1\database #从服务器地址
port =7778 #从数据库端口号
bind_ip= 127.0.0.1  #从数据库所在服务器
source=  127.0.0.1:8888 #确定主的数据库端口号
slave=true#确定为从服务器


 启动数据配置

mongod --configslave.conf 


连接数据库配置

mongo 127.0.0.1:7778

再次启动从服务器 

 

启动成功后如下图


 

从服务器启动

 


测试添加数据

master主数据库创建foobar数据库,添加集合,并集合中有一条数据。

 


 

查看从数据库,则有主数据库添加的数据


 

动态扩充从数据库


使用shell脚本

这个时候我们的添加新数据的配置就稍微有所不同了

dbpath=J:\java\mongoSlave\savle2\database #从服务器地址
port =7779 #从数据库端口
bind_ip= 127.0.0.1  #从数据库所在服务器
#source =  127.0.0.1:8888 #确定我的数据库端口号 删除了主服务器的地址
slave=true#确定为从服务器

我们通过shell命令进行配置,打开从服务器数据库命令窗口

Use local
Db.sources.find()
Db.sources.insert({"host":"127.0.0.1:8888"}})


 

就连接上主服务器,并复制数据库了

 

小结:


主从数据库复制,添加数据只能在主数据库,而从数据库只可以进行数据的查找。对于大数据量这种情况有些不适应,这时候我们就需要另外一种形式,分片技术,下篇介绍副本集


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值