一. 需求

不知道有多少人会像我一样,会把MongoDB用在客户端应用上,不过我感觉应该非常少。于是,我就希望能在客户机器上尽可能简单方便的安装MongoDB。所以以下是我的一些取舍:

1. 我只使用32位版本,因为32位的数据库能跑在64位的机器上,反之则不行。当然我知道2GB的限制

2. 不做安装程序,直接使用bat脚本,因为简单

3. 关于数据库安装路径,默认安装在D盘,如果用户没有D盘,则安装在C盘。 文件夹名字是MongoDB

4. 如果数据库已经安装过,则本程序给出提示

5.全部采用默认配置,单机,27017的默认端口,一切为了简单

二.bat程序脚本

基本步骤是: 确定安装位置,将Mongodb的可执行文件拷贝到对应的目录下(如果不存在则创建)

查看MongoDB服务是否已经存在,如果不存在,新建服务

结束

具体的bat代码可见下面的:

  1. @echo off
  2. title MongoDB数据库自动安装脚本
  3.  
  4. echo 请使用管理员权限执行本脚本
  5.  
  6. set disk=C
  7.  
  8. if exist D:\nul set disk=D
  9.  
  10. if not exist "%disk%:\MongoDB\" md %disk%:\MongoDB\
  11. set name=bin
  12.  
  13. if not exist "%disk%:\MongoDB\%name%\" md "%disk%:\MongoDB\%name%\"
  14.  
  15. cd /d %~dp0
  16.  
  17. set STR1= %~dp0
  18.  
  19. set STR2=%STR1:~0,-1%
  20.  
  21. echo %STR1% ==^> %STR2%
  22.  
  23. xcopy %STR2% %disk%:\MongoDB\%name%\ /c/q/e/y
  24.  
  25. if not exist "%disk%:\MongoDB\data\" md "%disk%:\MongoDB\data\"
  26.  
  27. %~d0
  28. %disk%:\MongoDB\%name%\mongod --install --serviceName MongoDB --serviceDisplayName MongoDB --logpath %disk%:\MongoDB.Log --dbpath %disk%:\MongoDB\data --directoryperdb
  29.  
  30. @echo off
  31. for /f "skip=3 tokens=4" %%i in ('sc query MongoDB') do set "zt=%%i" &goto :next
  32.  
  33. :next
  34. if /i "%zt%"=="RUNNING" (
  35. echo 已经发现该服务在运行,已经安装成功
  36.  
  37. ) else (
  38. echo 该服务现在处理停止状态,将进行启动
  39. net start MongoDB
  40. )
  41. pause

三. 其他

1.  其实如果为了简单和小巧,那么下载的mongodb文件夹中,只有Mongod.exe是需要的,其他工具只在特殊情况下才用得着。为了减小体积,我只提供了mongod.exe。 如果有更新的版本,你只需要把bat文件拷贝到可执行文件夹中即可

2.  里面很多bat的语法和技巧,可以用在其他地方

3.  本文只是作者睡觉前想贡献社会随便写的,所以文章价值不高,这个我知道,所以你也不用说。我也不会放在首页的。

4.  其实完全可以判断32/64位系统,再分类安装的,但咱不是懒么

5.  它真的可以一键安装,我已经用在真实环境中了,很好用。如果你对路径设置不满意,可以选择修改bat。

6.  文件下载见附件。解压,然后用管理员模式运行bat即可。

MongoDB一键式安装工具的更多相关文章

  1. 一键式Spring集成工具 Spring Boot

    最近公司使用Spring boot进行开发,稍微了解一下,不过自我感觉把集中式配置applicate.properties搞明白,注解用过Spring MVC的boot绝对没问题的 比如拦截器:@As ...

  2. azure 云上MySQL最新版本 MySQL5.7.11 批量自动化一键式安装 (转)

    --背景云端 以前都喜欢了源码安装mysql,总觉得源码是高大上的事情,不过源码也需要时间,特别是make的时候,如果磁盘和cpu差的话,时间很长很长,在虚拟机上安装mysql尤其甚慢了. 现在业务发 ...

  3. Visual Studio 2012 Web一键式发布

    按照保哥的介绍,尝试“ Web一键式发布”,但总是出错,主要就是404错误,不知道是什么原因.默认的 Web一键式发布是在C:\inetpub\wwwroot目录下,难道是权限问题?折腾N久无果.好吧 ...

  4. Azure Site Recovery 通过一键式流程将虚拟机故障转移至 Azure虚拟机

    Ruturaj Dhekane 云 + Enterprise 项目经理  现在,AzureSite Recovery可以通过其"灾难恢复至 Azure"功能保护您的工作负荷,并 ...

  5. 无线网破解软件|一键式破解无线网|BT17软件包下载[笔记本+软件就行]

    从新版BT17发布到现在已经有一段时间,谢谢大家的一直来的关注.现在给大家讲解一下无线网破解问题,告诉 大家如何一键式破解WPA,WPA2,AES.Tkip等加密方式以及新版BT17软件包的下载地址. ...

  6. C# 制作Java +Mysql+Tomcat 环境安装程序,一键式安装

    原文:C# 制作Java +Mysql+Tomcat 环境安装程序,一键式安装 要求: JDK.Mysql.Tomcat三者制作成一个安装包, 不能单独安装,安装过程不显示三者的界面, 安装完成要配置 ...

  7. 如何:使用 Visual Studio 中的一键式发布来部署 Web 应用程序项目

    原文: 如何:使用 Visual Studio 中的一键式发布来部署 Web 应用程序项目 本主题介绍如何在以下产品中使用 一键式发布 发布(部署)Web 应用程序项目: Visual Studio ...

  8. AdPlayBanner:功能丰富、一键式使用的图片轮播插件

    AdPlayBanner:功能丰富.一键式使用的图片轮播插件 AdPlayBanner是一个Android平台基于ViewPager实现的轮播图插件,主要用以自动或者手动地播放轮播图,提供了Fresc ...

  9. 自动化运维(2)之一键式单实例安装MySQL

    ZMySQLAutoTools文档 目标:自动化构建部署MySQL数据库,一键式单实例mysql安装,备份,监控,主从集群部署等.以及jdk,tomcat,nginx等基础中间件的自动化部署安装及运维 ...

随机推荐

  1. Probe在性能测试中的使用方式简介

    简介: Lambda Probe(以前称为Tomcat Probe)是一款实时监控和管理的Apache Tomcat实例的基本工具. Lambda Probe 是基于 Web + AJAX 的强大的免 ...

  2. ant的安装及项目的发布

    1.安装ant1) 直接解压apache-ant-1.9.7-bin 2) 在环境变量中配置,ant_home的环境变量在 3) 在命令提示符中测试是否安装成功. 2 项目首次打包1) 写好打包的配置 ...

  3. H5 表单

    伴随着互联网富应用以及移动开发的兴起,传统的Web表单已经越来越不能满足开发的需求,HTML5在Web表单方向也做了很大的改进,如拾色器.日期/时间组件等,使表单处理更加高效. 1.1新增表单类型 - ...

  4. C#用扩展方法进行自动生成添加删除对象转换的功能

    public static class ExtendedModel { #region 实体类的增删改查 #region 添加 public static string AddStr(this obj ...

  5. 重载与覆盖(java)

    一般来说,分为两种情况.一是在同一个类里面有两个或两个以上的同名的方法,这些方法的名字相同,但参数不同,这种情况中叫重载.当你调用方法时,会根据你传进去的参数的类型来决定调用哪个方法.二是一个类继承了 ...

  6. js判断地址转向

    <script type="text/javascript"> if (navigator.userAgent.search(/iphone|ipod|ipad|And ...

  7. 剑指Offer面试题:22.二叉搜索树的后序遍历序列

    一.题目:二叉搜索树的后序遍历序列 题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则返回true,否则返回false.假设输入的数组的任意两个数字都互不相同. 例如在下面 ...

  8. ASP.Net MVC3 图片上传详解(form.js,bootstrap)

    图片上传的插件很多,但很多时候还是不能切合我们的需求,我这里给大家分享个我用一个form,file实现上传四张图片的小demo.完全是用jquery前后交互,没有用插件. 最终效果图如下: 玩过花田人 ...

  9. Android编译过程中的碎碎念

    刷机不是用rom包吗?怎么可以使用fastboot flashall -w将*.img文件刷入呢? 在Mac上面可以参考这篇文章进行刷机.概括来说解释从官方下载rom包,解压后运行./flash-al ...

  10. 浅析MSIL中间语言——PE文件结构篇

    一.开篇 开篇我想讲一下于本文无关的话题,其实我很想美化一下自己博客园一直没时间弄,无意间找了博客园李宝亨的博客园里面有一篇分享自己主题的文章,我就将这个模板暂时用作我的blog主题,我要讲述一个关于 ...