Mongodb数据库主从复制的搭建

Writeby:lipeng                                    date:2014-10-22

最近项目上用到了位置查询,在网上看到mongodb支持距离的查询,所以就学习了一下mongodb,在学习中总结了一下遇到的问题和解决的办法,以及mongodb的安装,主从复制,集群和在.NET应用程序中的操作,记录下来方便自己以后用得到,同时也希望能帮助那些初学mongodb的人,本人由于刚学mongodb,出现问题望大家提醒出来,相互学习,共同进步。

1.  准备

Windows操作系统的电脑一台,在E盘新建两个文件夹分别来存放主数据库和从数据库,主数据库中的配置文件如下:

其中port为端口,dbpath为数据库文件的存放位置,logpath围殴日志文件的存放位置

注意:master=true 表示为主服务器。

从服务器的配置文件如下:

其中Port为端口号,dbpath为数据库文件的存放位置,logpath围殴日志文件的存放位置

注意:slave=true 表示为主服务器。Source=127.0.0.1:27017 表示从哪个服务器同步数据库文件。

2.  具体实现

  1. 打开一个cmd命令操作,执行如下命令:

其中:--config 后面输入配置文件的位置,

启动成功后显示如下:

此时,主服务器已启动成功。

2.再次打开一个cmd操作程序,执行如下命令:

其中:--config 后面输入配置文件的位置

启动成功后显示如下:

此时从服务器已打开。

3.开主服务器的网页:http://localhost:28017/  ----注意端口号加1000如下:

可以看到:

3.打开从服务器的网页:http://localhost:13548/  ----注意端口号加1000如下:

可以看到:

3.测试

在主服务器的shell中输入如下指令:db.test.save({“11”,123})

在从服务器的shell中输入如下指令:db.test.find()结果如下:

测试结果表明主从复制已完成。

4.  遇到的问题及解决方案

  1. 启动mongodb的时间报错;can not read from mongdb.config。产生这个错误的原因有可能是配置文件的路径写的不正确或者配置文件的参数写的不正确。
  2. 报错如下:

产生这个错误的原因是因为开启的端口号已被占用,换一个端口即可正常启动。

Mongodb数据库学习系列————(一)Mongodb数据库主从复制的搭建的更多相关文章

  1. Android+Jquery Mobile学习系列(5)-SQLite数据库

    SQLite是轻量级的.嵌入式的.关系型数据库,目前已经在iPhone.Android等手机系统中使用,SQLite可移植性好,很容易使用,很小,高效而且可靠. 因为Android已经集成了SQLit ...

  2. hive 学习系列二(数据库的创建删除修改) 拿走,不谢。

    database 相当于一个目录或者命名空间,用来更好地进行表的管理 在hdfs 的目录位置大致如下: [root@iZbp12vtv76y9q3d633bh6Z /]# hadoop fs -ls ...

  3. MongoDB入门学习(三):MongoDB的增删查改

            对于我们这样的菜鸟来说,最重要的不是数据库的管理,也不是数据库的性能,更不是数据库的扩展,而是怎么用好这款数据库,也就是一个数据库提供的最核心的功能,增删查改.         由于M ...

  4. oracle数据库flashback系列--闪回数据库在dataguard中的使用

    很多人在学习flashback database这个oracle技术的时候,都会有一个疑问,就是如果我只有一个数据库作为生产库的话,是否有这样的业务需求导致我们要把数据库闪回到以前的时间点?以及这样做 ...

  5. SQL 数据库 学习 003 什么是数据库? 为什么需要数据库?是不是所有的软件都是用Sql Server?

    什么是数据库? 为什么需要数据库? 是不是所有的软件都是用Sql Server? 我的电脑系统: Windows 10 64位 使用的SQL Server软件: SQL Server 2014 Exp ...

  6. [原]SQLite的学习系列之获取数据库版本

    最先了解到SQLite是基于其作为移动客户端数据存储平台,以下是其官网(https://www.sqlite.org/)关于SQLite的一段介绍: SQLite是遵守ACID的轻型数据库引擎,它包含 ...

  7. [原]SQLite的学习系列之获取数据库版本二

    本系列文章主要是使用C++语言来调用其API,达到管中窥豹的目的.另外本文使用的开发环境为mac + clion,并且基于SQLite 3.7.14来进行开发. 一.去下载sqlite-amalgam ...

  8. SQL数据库学习系列之一

    数据库知识的重要性不言而喻,以下链接给出了最最基础知识的讲解. 第一讲:SQL 语法 第二讲:SQL SELECT 语句 第三讲:SELECT DISTINCT 语句 第四讲:SQL WHERE 子句 ...

  9. 【SQL Server 学习系列】-- 收缩数据库文件大小

    USE WebExam; GO ALTER DATABASE WebExam SET RECOVERY SIMPLE; GO -- 收缩文件到 1 MB. ); GO ALTER DATABASE W ...

随机推荐

  1. 【Android】纯代码创建页面布局(含异步加载图片)

    开发环境:macOS 10.12 + Android Studio 2.2,MinSDK Android 5.1 先看看总体效果 本示例是基于Fragment进行的,直接上代码: [界面结构] 在 F ...

  2. Entity Framework Plus 系列目录

    Entity Framework Plus 系列文章计划的已经全部写完,可能还有其他功能没有写到,希望大家能够多动手,尝试一下使用,一定会给您带来一些帮助的.文章全部写完,也应该出一个目录方便查看,目 ...

  3. CodeMirror简介

    Javascript由于其作为Web标准的独特地位,很多人甚至希望它能一统前后端开发. Javascript的本质工作首先肯定的Web前端开发,本文主要想介绍的CodeMirror是一款Web Edi ...

  4. django+mysql学习笔记

    这段时间在学习mysql+django的知识点.借此记录以下学习过程遇到的坑以及心得. 使用的工具是navicat for mysql python 2.7.12 mysql-python 1.2.3 ...

  5. 三个linux系统共存,修改默认启动

     一个mint,一个ubuntu,想要默认启动ubuntu,那么咱们这么来:修改启动顺序,我们需要修改Ubuntu的GRUB配置文件.使用常见的编辑程序如"gedit"就可以很方便 ...

  6. /etc/sysconfig/下找不到iptables文件解决方法

    时间:2014-12-19 01:17来源:csdn 作者:大智 举报 点击:5639次 本想做些防火墙策略.防火墙策略都是写在/etc/sysconfig/iptables文件里面的.可我发现我也没 ...

  7. 物联网框架SuperIO 2.2.9和ServerSuperIO 2.1同时更新,更适用于类似西门子s7-200发送多次数据,才能读取数据的情况

    一.解决方案 二.更新内容 1.修改IRunDevice接口,把void Send(io,bytes)改成int Send(io,bytes).2.修改网络控制器,发送数据不直接使用IO实例,改为使用 ...

  8. javascript 练习示例(一)

    confirm 点确定返回true,点取消返回false prompt 点确定返回用户输入的字符串,点取消返回null 判断奇偶性 var isOdd = prompt('请输入你得的数字'); if ...

  9. navigationController 去掉背景图片、去掉底部线条

    //去掉背景图片 [self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc] init] forBarMe ...

  10. 2015 Autodesk 开发者日( DevDays)和 助力开发周火热报名中

    Autodesk 软件(中国)有限公司 ADN 市场部真诚地邀请您参加我们一年一度的 "Autodesk 开发者日"(简称 DevDays),以及第一次随同开发者日举办的" ...