热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Windows系统中以服务方式安装MongoDB数据库

观看本文之间,请先移步至下面纠正部分之前按照MongoDB官网提供的安装方法一直出错http://cn.docs.mongodb.org/master/tutorial/install-mongodb-on-windows/#mongodb-as-a-windows-service错误主要如下:MonDec2410:5

观看本文之间,请先移步至下面纠正部分

之前按照MongoDB官网提供的安装方法一直出错

http://cn.docs.mongodb.org/master/tutorial/install-mongodb-on-windows/#mongodb-as-a-windows-service

错误主要如下:

Mon Dec 24 10:57:41 Trying to start Windows service 'MongoDB'
Mon Dec 24 10:57:41 Service running
Mon Dec 24 10:57:41 [initandlisten] MongoDB starting : pid=2628 port=27017 dbpath=\data\db\ 64-bit host=Dean
Mon Dec 24 10:57:41 [initandlisten] db version v2.2.2, pdfile version 4.5
Mon Dec 24 10:57:41 [initandlisten] git version: d1b43b61a5308c4ad0679d34b262c5af9d664267
Mon Dec 24 10:57:41 [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1') BOOST_LIB_VERSION=1_49
Mon Dec 24 10:57:41 [initandlisten] options: { config: "e:\mongodb\mongod.cfg", logpath: "e:\mongodb\log\mongo.log", service: true }
Mon Dec 24 10:57:41 [initandlisten] exception in initAndListen: 10296
*********************************************************************
ERROR: dbpath (\data\db\) does not exist.
Create this directory or give existing directory in --dbpath.
See http://dochub.mongodb.org/core/startingandstoppingmongo
*********************************************************************
, terminating
Mon Dec 24 10:57:41 dbexit:
Mon Dec 24 10:57:41 [initandlisten] shutdown: going to close listening sockets...
Mon Dec 24 10:57:41 [initandlisten] shutdown: going to flush diaglog...
Mon Dec 24 10:57:41 [initandlisten] shutdown: going to close sockets...
Mon Dec 24 10:57:41 [initandlisten] shutdown: waiting for fs preallocator...
Mon Dec 24 10:57:41 [initandlisten] shutdown: lock for final commit...
Mon Dec 24 10:57:41 [initandlisten] shutdown: final commit...
Mon Dec 24 10:57:41 [initandlisten] shutdown: closing all files...
Mon Dec 24 10:57:41 [initandlisten] closeAllFiles() finished
Mon Dec 24 10:57:41 dbexit: really exiting now

提到找不到\data\db,但是按照官方的教程试了好几遍,也没发现哪里有问题,还是不行

于是,就Google了一下,按照一下方式安装windows服务就可以了,特此记录,以备后用

E:\mongodb\bin>mongod --logpath E:\mongodb\log\MongoDB.log --logappend --dbpath
E:\mongodb\data --directoryperdb --serviceName MongoDB --install
all output going to: E:\mongodb\log\MongoDB.log

E:\mongodb\bin>mongod --logpath E:\mongodb\log\MongoDB.log --logappend --dbpath
E:\mongodb\data --directoryperdb --serviceName MongoDB --remove
all output going to: E:\mongodb\log\MongoDB.log

E:\mongodb\bin>mongod --logpath E:\mongodb\log\MongoDB.log --logappend --dbpath
E:\mongodb\data --directoryperdb --serviceName MongoDB --install
all output going to: E:\mongodb\log\MongoDB.log

E:\mongodb\bin>net start MongoDB

The Mongo DB service was started successfully.

该命令行指定了日志文件:D:\MongoDB\logs\MongoDB.log,日志是以追加的方式输出的;

数据文件目录:D:\MongoDB\data,并且参数--directoryperdb说明每个DB都会新建一个目录;

最后是安装参数:--install,与之相对的是--remove

启动MongoDB:net start MongoDB

停止MongoDB:net stop MongoDB

(突然停电等情况容易造成Mongo服务出错,可以先删除data目录下的log和lock文件然后重新启动服务)

纠正:

第二次安装MongoDB的时候,发现以上的错误是官方在配置mongod.cfg的时候没有指定data\db的目录

我们可以在mongod.cfg文件中配置一下参数:

logpath=E:\mongodb\log\MongoDB.log
logappend=true
dbpath=E:\mongodb\data\db
directoryperdb=true

然后按照官方的教程

D:\Program Files\mongodb\bin>mongod.exe --config E:\mongodb\mongodb.cfg --install

就可以了,如果以后想要添加或修改其他参数如auth,就可以直接在mongodb.cfg中增加修改,然后

重启MonoDB服务即可,不需要重新删除MogoDB服务,在建立,或者在注册表中修改

还有启动客户端的时候,有时候会发生

Sat Jan 12 14:22:51 Create/Open File failed C:\Users\???2\.mongorc.js errno:3 The
system cannot find the path specified.
Sat Jan 12 14:22:51 Assertion failure fo <= 0x7ffffffe src\mongo\scripting\eng
ine.cpp 136

的错误,只要到该目录下删除mongorc.js,然后重新打开mongo.exe即可


推荐阅读
author-avatar
花自飘零009玲玲
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有