一. 需求

不知道有多少人会像我一样,会把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. PHP:函数赋参数默认初值

    函数的默认参数 允许定义函数时,指定参数的默认值,如: function js_location($url, $alert='', $top=''){ if($alert=='' && ...

  2. codeforces 360 C

    C - NP-Hard Problem Description Recently, Pari and Arya did some research about NP-Hard problems and ...

  3. CSS预处理框架:less,scss

    CSS预处理器:less和sass:CSS 预处理器是一种语言用来为 CSS 增加一些编程的的特性,无需考虑浏览器的兼容性问题,例如你可以在 CSS 中使用 变量.简单的程序逻辑.函数等等在编程语言中 ...

  4. normalize.css入门和下载

    CSS Reset 是革命党,CSS Reset 里最激进那一派提倡不管你小子有用没用,通通给我脱了那身衣服,凭什么你 body 出生就穿一圈 margin,凭什么你姓 h 的比别人吃得胖,凭什么你 ...

  5. [Android] 时间Time Date 以及Location中gettime

    import android.text.format.Time; 还有一个是Date Location中的gettime, 这几个每个默认的格式都不一样,直接输出字符串各自得到了不同 比如按照获取当前 ...

  6. [原创]MySQL RR隔离级别下begin或start transaction开启事务后的可重复读?

    Server version:         5.6.21-log MySQL Community Server (GPL) 前提提要: 我们知道MySQL的RR(repeatable read)隔 ...

  7. nginx超时重发

    最近一直遇到一个bug: 客户端会二次请求服务端,服务端多次调用remote服务. 特点是,这些请求都是模型切片相关的,耗时很长的请求,往往需要1分钟左右. 开始以为是客户端代码有问题,进行了二次请求 ...

  8. 解决word2013图片不能替换

    有时我们下好文档时,想要替换里面的图片,右键时却发现没有替换图片这个选项 这是应为此时我们的文档处于兼容模式,我们可以把它另存为.docx格式,这是再右键便可发现,多了一个替换图片选项.

  9. WebView解析

    WebView解析   WebView是一个基于Webkit的,相当于内置浏览器的强大功能的组件,WebView的使用这么分四步说明:添加组件,加载资源,属性设置,辅助功能. 一.WebView的添加 ...

  10. 函数randint的使用

    摘自百科: ANDINT 在MATLAB中用于产生基质的均匀分布的随机整数. 用法: 1.OUT = RANDINT 产生一个“ 0 ”或“ 1 ”等概率 2.OUT = RANDINT(M) 生成的 ...