window下MongoDB的配置与安装
前言
MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写,支持Windows,Linux,OSX,Solaris等平台,默认端口为27017,是一个效率非常高的nosql数据库。
我的测试环境:window10 64位
我的安装路径:D:\mongodb
我学习mongodb的笔记本:MongoDB
配置mongodb我也遇到了两个关键性的问题,记录这篇博客希望搭建mongodb的同行者,可以顺利完成配置。
安装
下载地址:http://www.mongodb.org/downloads
选择下载版本:

我下载的是最新版本的zip格式。
需要注意的是:
1、从mongodb2.2版本开始,mongodb不在支持windowXp
参考:心知博客
PLATFORM SUPPORT
Starting in version 2.2, MongoDB does not support Windows XP. Please use a more recent version of Windows to use more recent releases of MongoDB.
2、如果运行系统为windows server 2008 R2 或者 window 7,需要进入微软官网下载补丁
IMPORTANT
If you are running any edition of Windows Server R2 or Windows , please install a hotfix to resolve an issue with memory mapped files on Windows.
并且这里需要特别注意:
下载完成后会得到一个exe文件,但是这里并不能直接对这个文件进行安装,需要先将其解压,解压后得到 Windows6.1-KB2731284-v3-x64.msu 文件,这时候才可以进行安装,之后重启即可
3、64位的MongoDB将不能在32位的windows上运行启动
配置
1、创建一个用于存放mongodb数据的目录,
这里我创建在D:\mongodb\data\db,打开cmd(这里我用的Git Bash),进入到mongodb的bin目录,运行下面命令
mongod --dbpath="D:\mongodb\data\db"
然后出现了我遇到的第一个问题,
--29T22::02.229+ I CONTROL [initandlisten] MongoDB starting : pid= port= dbpath=C:\Program Files\MongoDB\db -bit host=Lenovo
--29T22::02.234+ I CONTROL [initandlisten] targetMinOS: Windows /Windows Server R2
--29T22::02.235+ I CONTROL [initandlisten] db version v3.4.1
--29T22::02.237+ I CONTROL [initandlisten] git version: 5e103c4f5583e2566a45d740225dc250baacfbd7
--29T22::02.238+ I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1t-fips May
--29T22::02.240+ I CONTROL [initandlisten] allocator: tcmalloc
--29T22::02.241+ I CONTROL [initandlisten] modules: none
--29T22::02.241+ I CONTROL [initandlisten] build environment:
--29T22::02.243+ I CONTROL [initandlisten] distmod: 2008plus-ssl
--29T22::02.244+ I CONTROL [initandlisten] distarch: x86_64
--29T22::02.245+ I CONTROL [initandlisten] target_arch: x86_64
--29T22::02.246+ I CONTROL [initandlisten] options: { storage: { dbPath: "C:\Program Files\MongoDB\db" } }
--29T22::02.249+ I STORAGE [initandlisten] exception in initAndListen: Attempted to create a lock file on a read-only directory: C:\Program Files\MongoDB\db, terminating
--29T22::02.251+ I NETWORK [initandlisten] shutdown: going to close listening sockets...
--29T22::02.255+ I NETWORK [initandlisten] shutdown: going to flush diaglog...
--29T22::02.256+ I CONTROL [initandlisten] now exiting
--29T22::02.257+ I CONTROL [initandlisten] shutting down with code:
最后出现shutting down with code :100,
在心知博客我找到了答案,原因在于:我们进入的命令提示符只是普通模式,所以出现无法创建文件的问题,切换到管理员模式,重新运行命令:
然后就可以正常启动。
2、我把mongo命令添加到path环境变量中,
这样我就不需要每次都进入到mongodb下的bin中执行mongo命令了。

3、把mongodb设置为windows服务,
采用管理员:命令提示符,切换到安装mongodb目录的bin目录,运行下面命令,把MongoDB设置为Windows服务:
mongod --dbpath="D:\mongodb\data\db" --logpath="D:\mongodb\data\log" --logappend --directoryperdb --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install
参数解读:
--dbpath="D:\mongodb\data\db" mongodb的数据目录
--logpath="D:\mongodb\data\log" --logappend 指定日志文件。并且日志是以追加的方式输出的
--serviceName "MongoDB" --serviceDisplayName "MongoDB" windows服务器名称和显示名称为MongoDB
--directoryperdb 表示每个db都会新建一个目录
--install 进行安装,与之相对的是--remove
启动停止mongodb服务的命令
启动MongoDB:net start MongoDB
停止MongoDB:net stop MongoDB
然后我遇到了第二个问题,服务器安装成功之后,进行启动,发现无法启动,查看log日志文件,有这样的信息:
--29T23::23.705+ I CONTROL [initandlisten] options: { service: true, storage: { dbPath: "D:\mongodb\data\db", directoryPerDB: true }, systemLog: { destination: "file", logAppend: true, path: "D:\mongodb\data\log\mongodb.log" } }
--29T23::23.706+ I - [initandlisten] Detected data files in C:\Program Files\MongoDB\db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
--29T23::23.707+ I STORAGE [initandlisten] exception in initAndListen: Requested option conflicts with current storage engine option for directoryPerDB; you requested true but the current server storage is already set to false and cannot be changed, terminating
--29T23::23.707+ I NETWORK [serviceStopWorker] shutdown: going to close listening sockets...
--29T23::23.707+ I NETWORK [serviceStopWorker] shutdown: going to flush diaglog...
--29T23::23.707+ I CONTROL [serviceStopWorker] now exiting
--29T23::23.707+ I CONTROL [serviceStopWorker] shutting down with code:
大致意思就是说存储引擎冲突,(之前在命令行启动过mongodb服务,然后就在数据目录生成了数据文件)
这个时候我们可以到数据目录中找到storage.bson这个文件,删除即可。
我们可以通过添加到环境变量中的mongo命令来启动数据库,这样我们就可以通过命令行来执行一些操作了

到这里我们已经能正常使用mongodb来执行工作了,我遇到的两个问题在心知博客中也找到了答案。
后记
我的mongodb的笔记本主要是记录mongo文档的学习情况,会不断更新。
博客会分享一些开发中的心得以及学习阶段遇到的问题最后得以解决,都会坚持下去,也很开心每天都能看到博客园里有很多人分享知识。
window下MongoDB的配置与安装的更多相关文章
- windows下Mongodb图形化工具安装及配置
接上篇文章<Windows下Mongodb安装部署.docx> 一.RockMongo 1.RockMongo需要php环境,首先需要搭建php环境,选择采用 下载xampp,这里我用的是 ...
- Windows7下MongoDB的下载、安装与配置详解
一.Windows7下的运行库问题 虽然这个问题属于个例,但我觉得也有必要拿出来说说,保不齐你新装的系统就存在运行库没更新或者没装全的问题.出现这样的问题其实挺恼人的,具体表现就是系统经常会弹出警示框 ...
- window 下mongodb 配置
1.下载mongodb-win32-x86_64-2008plus-ssl-v3.6-latest 解压到 D:\mongodb 2.cmd => path是否有环境变量 如果没有请配置 3.创 ...
- Ubuntu14.04下Mongodb数据库可视化工具安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 前期博客 Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐) Ubuntu14.04下Mongodb官网安装部署步骤(图 ...
- window下mongodb安装和配置
mongodb安装和配置 1.下载:https://www.mongodb.com 2.解压到盘的根目录下,本人解压到D盘根目录 3.在软件根目录下新建一个文件夹data 4.再新建两个文件夹db.l ...
- window下mongodb的安装和环境搭建
一.下载安装包或者压缩包 1.下载 mongodb官网社区版下载页面 开发者一般使用社区版即可 3.6.3版本仅支持64位版本 2.安装 mongo compass是一个图形界面管理工具,安装过程非常 ...
- window下Apache-http-server(httpd-2.4.12)安装与配置
由于Apache官网改变策略(2015年1月左右),官网不再提供Apache-http-server的windows的编译版本,但是提供了几个第三方的版本 http://httpd.apache.or ...
- Linux下MongoDB单实例的安装和配置详解
推荐网站 MongoDB官网:http://www.mongodb.org/ MongoDB学习网站:http://www.runoob.com/mongodb 一.创建MongoDB的资源目录和安装 ...
- window下 mongodb快速安装
下载地址 https://www.mongodb.org/dl/win32/x86_64-2008plus-ssl 建立文件夹和文件 #数据库路径 dbpath=G:\mongodb3.4.12\da ...
随机推荐
- vue2.0设置proxyTable使用axios进行跨域请求
这里请求的是知乎日报的api,由@izzyleung这位大神提供的,这是github地址. 在vue-cli构建的项目中先安装axios npm install axios -S 这里暂不考虑用vue ...
- java获取mp3的时长和播放mp3文件
所需包为jaudiotagger-2.2.6-SNAPSHOT.jar和jl1.0.1.jar. import java.io.BufferedInputStream; import java.io. ...
- JavaScript+canvas 绘制多边形
效果图: <body> <canvas id="square" width="500"></canvas> <canv ...
- Work 1(导游类)(2017.06.27)
- MSDTC启用——分布式事务
一.前言 最近在做一个项目的时候使用了.NET中的System.Transactions(分布式事务),当项目开发完成以后,调用的时候遇到了MSDTC的问题,在查阅了相关资料后将这个问题解决了,大致的 ...
- Entity Framework Core 批处理语句
在Entity Framework Core (EF Core)有许多新的功能,最令人期待的功能之一就是批处理语句.那么批处理语句是什么呢?批处理语句意味着它不会为每个插入/更新/删除语句发送单独的请 ...
- (转)ZXing解析二维码
1 ZXing解析二维码 上一篇文件已经说过如何用ZXing进行生成二维码和带图片的二维码,下面说下如何解析二维码 二维码的解析和生成类似,也可以参考google的一个操作类 BufferedImag ...
- (转)JAVA反射机制理解
JAVA反射机制: 通俗地说,反射机制就是可以把一个类,类的成员(函数,属性),当成一个对象来操作,希望读者能理解,也就是说,类,类的成员,我们在运行的时候还可以动态地去操作他们. 理论的东东太多也没 ...
- [javascript] postmessage
摘要 postmessage 作为 html5 跨域传值的解决方法,灰常好用啊..本次用的是页面a 用iframe 嵌入 页面b. 使用方法 postmessage 参数 otherWindow.po ...
- 定时器(setTimeout)的秘密
原文地址:→传送门 写在前面 setTimeout()是大家再熟悉不过的定时器,但平时对定时器的了解甚少,于是想看看setTimeout()的原理机制. setTimeout()基础 setTimeo ...