一. 需求

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

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

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

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

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

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

二.bat程序脚本

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

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

结束

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

@echo off
title MongoDB数据库自动安装脚本 echo 请使用管理员权限执行本脚本 set disk=C if exist D:\nul set disk=D if not exist "%disk%:\MongoDB\" md %disk%:\MongoDB\
set name=bin if not exist "%disk%:\MongoDB\%name%\" md "%disk%:\MongoDB\%name%\" cd /d %~dp0 set STR1= %~dp0 set STR2=%STR1:~0,-1% echo %STR1% ==^> %STR2% xcopy %STR2% %disk%:\MongoDB\%name%\ /c/q/e/y if not exist "%disk%:\MongoDB\data\" md "%disk%:\MongoDB\data\" %~d0
%disk%:\MongoDB\%name%\mongod --install --serviceName MongoDB --serviceDisplayName MongoDB --logpath %disk%:\MongoDB.Log --dbpath %disk%:\MongoDB\data --directoryperdb @echo off
for /f "skip=3 tokens=4" %%i in ('sc query MongoDB') do set "zt=%%i" &goto :next :next
if /i "%zt%"=="RUNNING" (
echo 已经发现该服务在运行,已经安装成功 ) else (
echo 该服务现在处理停止状态,将进行启动
net start MongoDB
)
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. dvb标准

    一.概念 DVB, 数字视频广播Digital Video Broadcasting的缩写, 是由DVB项目维护的一系列国际承认的数字电视公开标准.(欧标)二.分类DVB系统传输方式有如下几种: 卫星 ...

  2. 浅谈SQL Transaction在请求中断后的行锁表锁

    最近在维护Web Service接口时,由于数据数据量达到千万级别,接口调用不时出现错误让人不胜烦恼,经过性能测试查出瓶颈在数据库数据处理上,可着实忙了一番.相信众多程序猿和DBA都会头痛性能的问题, ...

  3. 基于zepto的H5/移动端tab切换触摸拖动加载更多数据

    以前实现移动端的滑动加载更多实现的方法是当滚动条快到页面底部时就自动加载更多的数据,在这方面很多人都用的是"西门的后花园"写的一个叫dropload的插件,这个插件用起来也很好,很 ...

  4. Redis 的安装与使用(linux)

    官方教程:http://www.redis.io/download 1.下载Redis # wget http://download.redis.io/releases/redis-3.0.4.tar ...

  5. Android之Json的学习

    json数据包含json对象,json数组,对象是{ },数组是[ ], 数组里面还可以包含json对象,json对象之间是用逗号(,)隔开 形式如下: { "languages" ...

  6. Map Network Driver

    K: \\10.11.80.5\deptfiling-pubgz$ O: \\10.11.80.5\deptfiling-itdgz$

  7. C# RabbitMq .net 使用

    本文转载来自 [http://www.cnblogs.com/yangecnu/p/Introduce-RabbitMQ.html]写的很详细. 文件安装包官方DEMO下载地址是:http://pan ...

  8. openCV C++ 代码笔记

    代码片段1 cv_contourMask_step_tmp=cv_contourMask.clone(); cv::Mat maskImage; UIImageToMat(pathimg, maskI ...

  9. Lesson 12 Goodby and good luck

    Text Our neighbour, Captain Charles Alison, will sail from Portsmouth tomorrow. We'll meet him at th ...

  10. 深入浅出NodeJS——数据通信,NET模块运行机制

    互联网的运作,最根本的驱动就是信息的交互,NodeJS 在数据交互这一块做的很带感,异步编程让人很惬意,关于 NodeJS 的数据通信,最基础的两个模块是 NET 和 HTTP,前者是基于 TCP 的 ...