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. 深入浅出数据仓库中SQL性能优化之Hive篇

    转自:http://www.csdn.net/article/2015-01-13/2823530 一个Hive查询生成多个Map Reduce Job,一个Map Reduce Job又有Map,R ...

  2. 在Ubuntu|CentOS上安装Shutter截图工具及快捷键设置

    简介 Shutter前身叫GScrot,它是一款相当棒的截图软件. 通过Shutter,你可以截取包括选定区域.全屏幕.窗口.窗口内的控件甚至网页的图像.通过内置的强大插件机制,你可以在截图后,对图像 ...

  3. .NET缓存框架CacheManager在混合式开发框架中的应用(1)-CacheManager的介绍和使用

    在我们开发的很多分布式项目里面(如基于WCF服务.Web API服务方式),由于数据提供涉及到数据库的相关操作,如果客户端的并发数量超过一定的数量,那么数据库的请求处理则以爆发式增长,如果数据库服务器 ...

  4. MSSQL练习题

    下列属于SQL Server的系统数据库是( ) A.modelB.publicC.NorthwindD.System 答案:http://hovertree.com/tiku/bjaf/06nvv7 ...

  5. 异步Socket 客户端部分

    using System; using System.Collections.Generic; using System.Text; using System.Net.Sockets; using S ...

  6. Debian的软件包管理工具命令 (dpkg,apt-get)详解

    本文转载于:http://blog.chinaunix.net/uid-20769502-id-106056.html   1.dpkg包管理工具 dpkg --info "软件包名&quo ...

  7. struts2学习之旅三 权限管理和导航设计

    1,权限管理的db设计和dao实现,尽量简单快速有效: db的设计如下:权限按照角色来赋给用户: 权限对应每一个具体的功能,有菜单级别的,有导航级别的,还有页面级别的功能: 涉及到权限的敏感操作一般都 ...

  8. Python09作业思路及源码:高级FTP服务器开发(仅供参考)

    高级FTP服务器开发 一,作业要求 高级FTP服务器开发 用户加密认证(完成) 多用户同时登陆(完成) 每个用户有不同家目录且只能访问自己的家目录(完成) 对用户进行磁盘配额,不同用户配额可不同(完成 ...

  9. 数据结构:基于list实现二元表达式(python版)

    #!/usr/bin/env python # -*- coding:utf-8 -*- def make_sum(a, b): return ['+', a, b] def make_prod(a, ...

  10. glibc 各版本发布时间以及内核默认glibc版本

    最近有些软件要求glibc 2.14+,centos 6.x自带的版本是2.12的,特查了下glibc 各版本发布时间以及与对应的内核,如下: Complete glibc release histo ...