1 实验主从复制,并验证复制成功
2 实验副本集,并验证自动切换primary成功.

=======================================================================
1.1.启动master节点:
mongod -dbpath=D:\Program_file\mongo\db1 -logpath=D:\Program_file\mongo\log\mongodb1.log --port 18001 --master  --rest  --nojournal

1.2.启动slave1节点:
mongod -dbpath=D:\Program_file\mongo\db2 -logpath=D:\Program_file\mongo\log\mongodb2.log  --port 18002 --slave    --rest  --nojournal   --source localhost:18001

1.3.启动slave2节点:
mongod -dbpath=D:\Program_file\mongo\db3 -logpath=D:\Program_file\mongo\log\mongodb2.log  --port 18003 --slave    --rest  --nojournal   --source localhost:18001

1.4.打开主库,新建立一个库及表:

D:\Program_file\mongo\mongodb\bin>mongo -port 18001
MongoDB shell version: 2.4.8
connecting to: 127.0.0.1:18001/test
Server has startup warnings:
Thu Mar 13 11:36:06.084 [initandlisten]
Thu Mar 13 11:36:06.084 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.
Thu Mar 13 11:36:06.084 [initandlisten] **       32 bit builds are limited to less than 2GB of data (or less with --journal).
Thu Mar 13 11:36:06.084 [initandlisten] **       Note that journaling defaults to off for 32 bit and is currently off.
Thu Mar 13 11:36:06.084 [initandlisten] **       See http://dochub.mongodb.org/core/32bit
Thu Mar 13 11:36:06.084 [initandlisten]
Thu Mar 13 11:36:06.192 [initandlisten]
Thu Mar 13 11:36:06.192 [initandlisten] ** WARNING: mongod started without --replSet yet 1 documents are present in local.system.replset
Thu Mar 13 11:36:06.192 [initandlisten] **          Restart with --replSet unless you are doing maintenance and no other clients are connected.
Thu Mar 13 11:36:06.192 [initandlisten] **          The TTL collection monitor will not start because of this.
Thu Mar 13 11:36:06.192 [initandlisten] **          For more info see http://dochub.mongodb.org/core/ttlcollections
Thu Mar 13 11:36:06.192 [initandlisten]
> show dbs;
admin   0.0625GB
local   0.15625GB
maketion        0.0625GB
mydb    0.0625GB
> use test
switched to db test
> db.test.insert({_id:1,name:"name_test"});
> db.test.find()
{ "_id" : 1, "name" : "name_test" }

1.5.打开从库,查看新建立的数据库及表有没有同步:
D:\Program_file\mongo\mongodb\bin>mongo -port 18002
MongoDB shell version: 2.4.8
connecting to: 127.0.0.1:18002/test
Server has startup warnings:
Thu Mar 13 11:44:17.236 [initandlisten]
Thu Mar 13 11:44:17.236 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.
Thu Mar 13 11:44:17.236 [initandlisten] **       32 bit builds are limited to less than 2GB of data (or less with --journal).
Thu Mar 13 11:44:17.236 [initandlisten] **       Note that journaling defaults to off for 32 bit and is currently off.
Thu Mar 13 11:44:17.236 [initandlisten] **       See http://dochub.mongodb.org/core/32bit
Thu Mar 13 11:44:17.236 [initandlisten]
Thu Mar 13 11:44:17.263 [initandlisten]
Thu Mar 13 11:44:17.263 [initandlisten] ** WARNING: mongod started without --replSet yet 1 documents are present in local.system.replset
Thu Mar 13 11:44:17.263 [initandlisten] **          Restart with --replSet unless you are doing maintenance and no other clients are connected
Thu Mar 13 11:44:17.263 [initandlisten] **          The TTL collection monitor will not start because of this.
Thu Mar 13 11:44:17.263 [initandlisten] **          For more info see http://dochub.mongodb.org/core/ttlcollections
Thu Mar 13 11:44:17.263 [initandlisten]
> show dbs;
admin   0.0625GB
local   0.09375GB
maketion        0.0625GB
mydb    0.0625GB
test    0.0625GB
> use test;
switched to db test
> show collections;
system.indexes
test
> db.test.find();
{ "_id" : 1, "name" : "name_test" }
>

可以看到,新建立一个库TEST,表:TEST 及数据都已同步过来了。

-----------------------------------------------------------------------------------
2 实验副本集,并验证自动切换primary成功,抓图实验过程

下面配置为前段时间配置的一个 replset 测试环境:

2.1 建立相关目录:
mkdir D:\Program_file\mongo\key
mkdir D:\Program_file\mongo\db1
mkdir D:\Program_file\mongo\db2
mkdir D:\Program_file\mongo\db3
mkdir D:\Program_file\mongo\db4

D:\Program_file\mongo\mongodb\bin\mongod.exe --replSet rs1 --keyFile D:\Program_file\mongo\key\r0 -dbpath=D:\Program_file\mongo\db1 -logpath=D:\Program_file\mongo\log\mongodb.log --logappend  --journal --port 28010

D:\Program_file\mongo\mongodb\bin\mongod.exe --replSet rs1 --keyFile D:\Program_file\mongo\key\r1 -dbpath=D:\Program_file\mongo\db1 -logpath=D:\Program_file\mongo\log\mongodb1.log --logappend  --journal --port 28011

D:\Program_file\mongo\mongodb\bin\mongod.exe --replSet rs1 --keyFile D:\Program_file\mongo\key\r2 -dbpath=D:\Program_file\mongo\db2 -logpath=D:\Program_file\mongo\log\mongodb2.log --logappend  --journal --port 28012

D:\Program_file\mongo\mongodb\bin\mongod.exe --replSet rs1 --keyFile D:\Program_file\mongo\key\r3 -dbpath=D:\Program_file\mongo\db3 -logpath=D:\Program_file\mongo\log\mongodb3.log --logappend  --journal --port 28013

--文件拷贝后添加--fastsync 参数启动(拷贝的如果不是primary,启动后拷贝前的节点会变为primary)
D:\Program_file\mongo\mongodb\bin\mongod.exe --replSet rs1 --keyFile D:\Program_file\mongo\key\r4 -dbpath=D:\Program_file\mongo\db4 -logpath=D:\Program_file\mongo\log\mongodb4.log --logappend  --journal --port 28014 --fastsync

#share:

D:\Program_file\mongo\mongodb\bin\mongod.exe --shardsvr --port 20000 -dbpath=D:\Program_file\mongo\shard\shard0\db -logpath=D:\Program_file\mongo\shard\shard0\log\mongo.log --logappend --journal --directoryperdb

D:\Program_file\mongo\mongodb\bin\mongod.exe --shardsvr --port 20001 -dbpath=D:\Program_file\mongo\shard\shard1\db -logpath=D:\Program_file\mongo\shard\shard1\log\mongo.log --logappend --journal --directoryperdb

#config
D:\Program_file\mongo\mongodb\bin\mongod.exe --configsvr --port 30000 -dbpath=D:\Program_file\mongo\shard\config -logpath=D:\Program_file\mongo\shard\config\mongo.log --logappend --journal --directoryperdb

#route
D:\Program_file\mongo\mongodb\bin\mongos.exe  --port 40000 --configdb localhost:30000 --logpath=D:\Program_file\mongo\shard\config\route.log --logappend  --chunkSize 1

2.2 配置rs

config_rs1={_id:'rs1',members:[
{_id:0,host:'localhost:28010',priority:1},
{_id:0,host:'localhost:28011'},
{_id:0,host:'localhost:28012'},
{_id:0,host:'localhost:28013'},
{_id:0,host:'localhost:28014'}]};
rs.initiat(config_rs1);

2.3 关闭primary,

rs1:PRIMARY> use admin
rs1:PRIMARY> runCommand("shutdown");

2.4 #登录另一节点:

D:\Program_file\mongo\mongodb\bin>mongo -port 28011
MongoDB shell version: 2.4.8
connecting to: 127.0.0.1:28011/test
Server has startup warnings:
Thu Mar 13 13:55:23.541 [initandlisten]
Thu Mar 13 13:55:23.541 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.
Thu Mar 13 13:55:23.541 [initandlisten] **       32 bit builds are limited to less than 2GB of data (or less with --journal).
Thu Mar 13 13:55:23.541 [initandlisten] **       See http://dochub.mongodb.org/core/32bit
Thu Mar 13 13:55:23.541 [initandlisten]
rs1:PRIMARY> rs.status()
{
        "set" : "rs1",
        "date" : ISODate("2014-03-13T05:58:52Z"),
        "myState" : 1,
        "members" : [
                {
                        "_id" : 0,
                        "name" : "localhost:28010",
                        "health" : 0,
                        "state" : 8,
                        "stateStr" : "(not reachable/healthy)",
                        "uptime" : 0,
                        "optime" : Timestamp(0, 0),
                        "optimeDate" : ISODate("1970-01-01T00:00:00Z"),
                        "lastHeartbeat" : ISODate("2014-03-13T05:58:50Z"),
                        "lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
                        "pingMs" : 0
                },
                {
                        "_id" : 1,
                        "name" : "localhost:28011",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 209,
                        "optime" : Timestamp(1389939638, 1),
                        "optimeDate" : ISODate("2014-01-17T06:20:38Z"),
                        "self" : true
                },
                {
                        "_id" : 2,
                        "name" : "localhost:28012",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 197,
                        "optime" : Timestamp(1389939638, 1),
                        "optimeDate" : ISODate("2014-01-17T06:20:38Z"),
                        "lastHeartbeat" : ISODate("2014-03-13T05:58:51Z"),
                        "lastHeartbeatRecv" : ISODate("2014-03-13T05:58:51Z"),
                        "pingMs" : 0,
                        "syncingTo" : "localhost:28011"
                },
                {
                        "_id" : 3,
                        "name" : "localhost:28013",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 193,
                        "optime" : Timestamp(1389939638, 1),
                        "optimeDate" : ISODate("2014-01-17T06:20:38Z"),
                        "lastHeartbeat" : ISODate("2014-03-13T05:58:51Z"),
                        "lastHeartbeatRecv" : ISODate("2014-03-13T05:58:51Z"),
                        "pingMs" : 0,
                        "syncingTo" : "localhost:28011"
                }
        ],
        "ok" : 1
}
rs1:PRIMARY>

【MONGODB】验证MONGODB 主从复制相关推荐

  1. Mongodb带验证的主从复制架构

    先说几个关于mongodb的使用命令: 1.创建用户    db.addUser('username','password'); 2.查询当前库中用户信息  db,system.users.find( ...

  2. 验证mongodb副本集并实现自动切换primary~记录过程

    接 验证mongodb主从复制过程 1.创建数据目录 同 验证mongodb主从复制过程 的实验一样,本次实验也是采用直接指定启动参数来启动mongodb数据库,本次实验我们需要启动三个数据库,为了与 ...

  3. MongoDB:mongodb在项目开发时的安全验证、分页查询操作

    MongoDB:mongodb在项目开发时的安全验证.分页查询操作. 对于数据库而言,在项目应用中都需要安全验证,不然,就会报错,呵呵-- 现在贴出来我在项目中是怎么做的. 原创文章,转载请注明出处: ...

  4. 单点登录(十)-----遇到问题-----cas启用mongodb验证方式报错com.mongodb.CommandFailureException---Authentication failed

    cas启用mongodb验证方式报错com.mongodb.CommandFailureException---Authentication failed. 完整报错信息: 二月 08, 2017 5 ...

  5. 已解决(MongoDB安装报错)Service ‘MongoDB Server (MongoDB)’ (MongoDB) failed tostart. Verify that you have su

    成功解决(MongoDB安装报错):Service 'MongoDB Server (MongoDB)' (MongoDB) failed tostart. Verify that you have ...

  6. SpringBoot 集成 Spring Data Mongodb 操作 MongoDB 详解

    一.MongoDB 简介 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,且与关系数据库的最为相像的.它支持的数据结构非常松散,是类似 json 的 bso ...

  7. 【MongoDB】MongoDB备份恢复与集群搭建方案

    MongoDB持久化与集群搭建实例 一.mongoDB备份与恢复 1.1 mongodump命令来备份数据 1.2 MongoDB数据恢复 二.集群搭建 2.1 机制 2.2 架构 2.3 搭建步骤 ...

  8. BigData之MongoDB:MongoDB基于分布式文件存储数据库的简介、下载、案例应用之详细攻略

    BigData之MongoDB:MongoDB基于分布式文件存储数据库的简介.下载.案例应用之详细攻略 目录 MongoDB的简介 1.MongoDB的主要功能特性 2.对MongoDB进行增删改查( ...

  9. PHP mongodb运用,MongoDB在PHP下的应用学习笔记

    1.连接 mongodb默认端口是:27017,因此我们连接mongodb:$mongodb = new Mongo('localhost') 或者指定IP与端口 $mongodb = new Mon ...

  10. 安装MongoDB Install MongoDB on Ubuntu

    MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和 非关系数据库之间的产品,是非关系数据库当中 ...

最新文章

  1. 在线qmc0转换mp3工具_如何将M4A格式的音频转换为MP3格式?只需一步搞定
  2. 网络ip功放连接图_精耕新基建:智能IP网络构筑稳固的连接基石
  3. Linux Shell常用技巧(七)
  4. 【NLP】10000亿参数!英伟达用3072块A100训出史上最大最贵GPT!
  5. php原生sql语法,thinkphp执行原生SQL语句的实现方法
  6. 用vhdl实现4位加减法计数器_32位加减法器设计
  7. 软件开发工具--自考2018年10月程序填空
  8. 借Java EE守护者联盟之力拯救Java EE
  9. Oracle OLAP 优化 这么玩!
  10. 友元函数类图_要达到形式的公平,需要具备的前提条件是()。
  11. 审计风险控制流程的起点_审计过程中如何理解风险评估程序和内部控制测试?...
  12. Android属于绑定服务特点是,Android P HIDL服务绑定模式与直通模式的分析 (原创)
  13. 证件照怎么换底色?Excel就能快速搞定,超简单
  14. 【CodeForces - 869】 A B C E 【组合数打表】
  15. PyQt5开发的数据编辑器(一)
  16. codeforces 900D. Unusual Sequences(莫比乌斯反演)
  17. wap.php区别,WAP與PHP程序設計之基礎篇
  18. 【Code】OJ推荐
  19. 【SVG素材网站】免费icon、logo素材下载
  20. js混淆 反混淆 在线

热门文章

  1. Codeforces 1209D Cow and Snacks
  2. idea xml文件去掉背景黄色
  3. TCP/IP协议学习
  4. Linux wildcard
  5. 利用JS实现简单的瀑布流效果
  6. Jenkins + Pipeline 构建流水线发布
  7. Docker端口映射实现
  8. 3月19 HTML静态网页的制作
  9. 【差分+前缀和】BZOJ1637: [Usaco2007 Mar]Balanced Lineup
  10. vscode使用sftp同步服务器文件