MongoDB副本集的实现与维护实战
1.建立MongoDB副本集
现利用一台机器完成MongoDB副本集的建立
机器1:127.0.0.1:27017
机器2:127.0.0.1:27018
机器3:127.0.0.1:27019
在D盘建立以下目录

在各自目录的主目录中创建文件夹db(用来存储数据库文件),log(存储日志文件),配置文件mongo.txt,内容如下
分别执行以下命令
mongod --config D:\Mongo\Mongo27017\3.2\mongo.txt --install
net start Mongo27017
mongod --config D:\Mongo\Mongo27018\3.2\mongo.txt --install
net start Mongo27018
mongod --config D:\Mongo\Mongo27019\3.2\mongo.txt --install
net start Mongo27019
输入以下命令
rs.initiate(config)
rs.config()

这样,副本集就建立起来了
2.副本集读写数据
在主数据库中执行以下命令:
db.person.insert({"name":"一呆","Age":20})
插入一条记录
默认情况下副本也是不能读数据的,如果需要副本读数据,需要在副本中执行以下命令
rs.slaveOk()

3.副本集维护
查看副本集状态:
rs.status()
rs.config()
移除指定的副本
rs.remove("127.0.0.1:27018") ,移除命令只能在主库中执行
停止服务Mongo27017后在27018副本执行以下命令:rs.status(),发现主库已经被自动切换为27018了,这是自动完成的

重新启动服务Mongo27017,执行命令rs.status()

MongoDB副本集的实现与维护实战的更多相关文章
- MongoDB 副本集的原理、搭建、应用
概念: 在了解了这篇文章之后,可以进行该篇文章的说明和测试.MongoDB 副本集(Replica Set)是有自动故障恢复功能的主从集群,有一个Primary节点和一个或多个Secondary节点组 ...
- MongoDB副本集的常用操作及原理
本文是对MongoDB副本集常用操作的一个汇总,同时也穿插着介绍了操作背后的原理及注意点. 结合之前的文章:MongoDB副本集的搭建,大家可以在较短的时间内熟悉MongoDB的搭建和管理. 下面的操 ...
- MongoDB副本集的搭建
副本集是mongodb提供的一种高可用解决方案.相对于原来的主从复制,副本集能自动感知primary节点的下线,并提升其中一个Secondary作为Primary. 整个过程对业务透明,同时也大大降低 ...
- 在centos7上搭建mongodb副本集
1.安装副本集介绍 副本集(Replica Set)是一组MongoDB实例组成的集群,由一个主(Primary)服务器和多个备份(Secondary)服务器构成.通过Replication,将数据的 ...
- MongoDB 副本集的常用操作及原理
本文是对MongoDB副本集常用操作的一个汇总,同时也穿插着介绍了操作背后的原理及注意点. 结合之前的文章:MongoDB副本集的搭建,大家可以在较短的时间内熟悉MongoDB的搭建和管理. 下面的操 ...
- mongodb副本集的内部机制(借鉴lanceyan.com)
针对mongodb的内部机制提出以下几个引导性的问题: 副本集故障转移,主节点是如何选举的?能否手动干涉下架某一台主节点. 官方说副本集数量最好是奇数,为什么? mongodb副本集是如何同步的?如果 ...
- (2)MongoDB副本集自动故障转移原理
前文我们搭建MongoDB三成员副本集,了解集群基本特性,今天我们围绕下图聊一聊背后的细节. 默认搭建的replica set均在主节点读写,辅助节点冗余部署,形成高可用和备份, 具备自动故障转移的能 ...
- (2)MongoDB副本集自动故障转移全流程原理
前文我们搭建MongoDB三成员副本集,了解集群基本特性,今天我们围绕下图聊一聊背后的细节. 默认搭建的replica set均在主节点读写,辅助节点冗余部署,形成高可用和备份, 具备自动故障转移的能 ...
- MongoDB副本集学习(三):性能和优化相关
Read Preferences/读写分离 有时候为了考虑应用程序的性能或响应性,为了提高读取操作的吞吐率,一个常见的措施就是进行读写分离,MongoDB副本集对读写分离的支持是通过Read Pref ...
随机推荐
- C# redis使用
1.下载安装Redis常用组件 下载地址https://github.com/dmajkic/redis/downloads 把文件内容拷贝到需要安装的目录下,如:E:\redis-2.8.172.启 ...
- CSUOJ_1001
/* * Title : A+B(II) * Data : 2016/11/09 * Author : Andrew */ #include <iostream> #include < ...
- RealSense开发-搭建C#开发环境
一.前言 RealSense的开发环境主要包括如下几部分: 硬件:RealSense摄像头(此处以SR300为例)+搭载Intel酷睿6代处理器的PC机(其实4代处理器也能跑起来): 软件:Windo ...
- Android复制粘贴文字
/** * 实现文本复制功能 * * @param content */ public static void copy(String content, Context context) {// 得到 ...
- 泛型数组列表 ArrayList
为什么使用泛型数组列表而不使用普通数组? 1.普通数组经常会发生容量太大以致浪费的情况 2.普通数组无法动态更改数组 基本概念: 1.采用[类型参数]的[类]---->[泛型类] 2.[泛型类型 ...
- python成长之路【第十二篇】:RabbitMQ入门
一.RabbitMQ介绍 解释RabbitMQ,就不得不提到AMQP(Advanced Message Queuing Protocol)协议. AMQP协议是一种基于网络的消息传输协议,它能够在应用 ...
- linux网卡混杂模式
混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包,即不验证MAC地址.普通模式下网卡只接收发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃.一般来说,混杂模式不会影响网卡的正常工作 ...
- sshfs三步走----实用(mac)
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #ffffff } p.p2 { margin: 0.0px 0. ...
- ECMAScript数组常用
var arr = [22, 33, 44, 55, 66, 77, 88, 99]; //every 全部结果为true 则返回true var e = arr.every(function (m) ...
- iOS开发 获取状态栏的点击事件
首先我们追踪UIStatusBar的触摸事件,需要在AppDelegate里面加入以下代码 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEve ...