转自“简时空”:《将MongoDB设为Windows服务

1、前言

MongoDB 安装、配置完后,必须先启动它,然后才能使用它。通常有3中方式来启动数据库实例:① 通过命令行方式;② 通过配置文件方式 ; ③ 通过Daemon方式

网上也有很多这类的教程,比如《Mongodb后台daemon方式启动》、《MongoDB在windows下安装配置》等。不过各种资料参差不齐,所以我这里重新将其整理出来,以备查找。

2、Windows下使用“服务”实现Daemon方式

这里主要讲解“通过Daemon方式”启动的步骤,这是因为按上面的 ①、② 方式在前台启动 MongoDB 进程,此时若 session 窗口不小心关闭时,MongoDB 进程也将随之停止,这是非常不安全的。

幸好MongoDB 提供了一种后台 Daemon 方式启动的选择,只需加上一个 ”--fork” 参数即可,这就使我们可以更方便的操作数据库的启动。不幸的事,fork参数是Linux参数,并非是Windows参数或者mongod命令(参见《mongodb fork in windows》)。在Windows下可以使用“服务”来取代fork功能。

【注意】如果用到了”--fork”参数就必须也启用 ”--logpath” 参数,这是强制的。

3、配置步骤

下面,我们使用 配置文件方式 [2]将MongoDB安装成Windows服务[1],[3]

① 建立日志文件,比如 F:\mongodb\logs\mongodb.log

② 建立数据库目录,比如 F:\mongodb\tsang

③ (可选)建立mongod进程的PID的文件,比如 F:\mongodb\logs\pid.txt

④ 建立配置文件, F:\mongodb\mongodb.cfg ,内容如下:

logpath=F:\mongodb\logs\mongodb.log
logappend=true
dbpath=F:\mongodb\tsang
directoryperdb=true
pidfilepath=F:\mongodb\logs\pid.txt

配置文件的后缀名可以自定义,不一定非得. cfg

⑤ 使用管理员身份启动cmd,并切换到mongodb的bin目录下:

⑥ 输入以下命令,在win7中安装MongoDB服务:

mongod  --config  F:\mongodb\mongodb.cfg --install

⑦ 启动MongoDB服务:

net  start  MongoDB

这样MongoDB就可以随系统启动了,“妈妈再也不用担心我意外关闭MongoDB啦”!

在“运行”(Win+R)中,输入 services.msc 可以验证其已经正确启动。

4、注意事项

1、 经常会出现不能正确安装的现象,导致在输入 net start MongoDB 时提示不能启动程序,这基本上是上面配置文件写错了所导致的——往往把诸如F:\mongodb\logs\mongodb.log 这样长而复杂的路径写错,建议拷贝而不是手敲输入 。

2、使用配置文件的好处是,如果想修改配置项,可以直接在配置文件中修改将自动生效,非常方便

3、另外,如果某天想卸载此项服务了,可以这么做:

net  stop  MongoDB
mongod --remove
sc delete MongoDB

5、参考文献

[1]. MongoDB官网. 《Install MongoDB on Windows

[2]. MongoDB官网. 《Configuration File Options

[3]. webiyo.《Install MongoDB Service on Windows 7》. 2011-5-11

Normal
0

7.8 磅
0
2

false
false
false

EN-US
ZH-CN
X-NONE

DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">

UnhideWhenUsed="false" QFormat="true" Name="Normal">

UnhideWhenUsed="false" QFormat="true" Name="heading 1">

UnhideWhenUsed="false" QFormat="true" Name="Title">

UnhideWhenUsed="false" QFormat="true" Name="Subtitle">

UnhideWhenUsed="false" QFormat="true" Name="Strong">

UnhideWhenUsed="false" QFormat="true" Name="Emphasis">

UnhideWhenUsed="false" Name="Table Grid">

UnhideWhenUsed="false" QFormat="true" Name="No Spacing">

UnhideWhenUsed="false" Name="Light Shading">

UnhideWhenUsed="false" Name="Light List">

UnhideWhenUsed="false" Name="Light Grid">

UnhideWhenUsed="false" Name="Medium Shading 1">

UnhideWhenUsed="false" Name="Medium Shading 2">

UnhideWhenUsed="false" Name="Medium List 1">

UnhideWhenUsed="false" Name="Medium List 2">

UnhideWhenUsed="false" Name="Medium Grid 1">

UnhideWhenUsed="false" Name="Medium Grid 2">

UnhideWhenUsed="false" Name="Medium Grid 3">

UnhideWhenUsed="false" Name="Dark List">

UnhideWhenUsed="false" Name="Colorful Shading">

UnhideWhenUsed="false" Name="Colorful List">

UnhideWhenUsed="false" Name="Colorful Grid">

UnhideWhenUsed="false" Name="Light Shading Accent 1">

UnhideWhenUsed="false" Name="Light List Accent 1">

UnhideWhenUsed="false" Name="Light Grid Accent 1">

UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1">

UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1">

UnhideWhenUsed="false" Name="Medium List 1 Accent 1">

UnhideWhenUsed="false" QFormat="true" Name="List Paragraph">

UnhideWhenUsed="false" QFormat="true" Name="Quote">

UnhideWhenUsed="false" QFormat="true" Name="Intense Quote">

UnhideWhenUsed="false" Name="Medium List 2 Accent 1">

UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1">

UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1">

UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1">

UnhideWhenUsed="false" Name="Dark List Accent 1">

UnhideWhenUsed="false" Name="Colorful Shading Accent 1">

UnhideWhenUsed="false" Name="Colorful List Accent 1">

UnhideWhenUsed="false" Name="Colorful Grid Accent 1">

UnhideWhenUsed="false" Name="Light Shading Accent 2">

UnhideWhenUsed="false" Name="Light List Accent 2">

UnhideWhenUsed="false" Name="Light Grid Accent 2">

UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2">

UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2">

UnhideWhenUsed="false" Name="Medium List 1 Accent 2">

UnhideWhenUsed="false" Name="Medium List 2 Accent 2">

UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2">

UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2">

UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2">

UnhideWhenUsed="false" Name="Dark List Accent 2">

UnhideWhenUsed="false" Name="Colorful Shading Accent 2">

UnhideWhenUsed="false" Name="Colorful List Accent 2">

UnhideWhenUsed="false" Name="Colorful Grid Accent 2">

UnhideWhenUsed="false" Name="Light Shading Accent 3">

UnhideWhenUsed="false" Name="Light List Accent 3">

UnhideWhenUsed="false" Name="Light Grid Accent 3">

UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3">

UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3">

UnhideWhenUsed="false" Name="Medium List 1 Accent 3">

UnhideWhenUsed="false" Name="Medium List 2 Accent 3">

UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3">

UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3">

UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3">

UnhideWhenUsed="false" Name="Dark List Accent 3">

UnhideWhenUsed="false" Name="Colorful Shading Accent 3">

UnhideWhenUsed="false" Name="Colorful List Accent 3">

UnhideWhenUsed="false" Name="Colorful Grid Accent 3">

UnhideWhenUsed="false" Name="Light Shading Accent 4">

UnhideWhenUsed="false" Name="Light List Accent 4">

UnhideWhenUsed="false" Name="Light Grid Accent 4">

UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4">

UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4">

UnhideWhenUsed="false" Name="Medium List 1 Accent 4">

UnhideWhenUsed="false" Name="Medium List 2 Accent 4">

UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4">

UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4">

UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4">

UnhideWhenUsed="false" Name="Dark List Accent 4">

UnhideWhenUsed="false" Name="Colorful Shading Accent 4">

UnhideWhenUsed="false" Name="Colorful List Accent 4">

UnhideWhenUsed="false" Name="Colorful Grid Accent 4">

UnhideWhenUsed="false" Name="Light Shading Accent 5">

UnhideWhenUsed="false" Name="Light List Accent 5">

UnhideWhenUsed="false" Name="Light Grid Accent 5">

UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5">

UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5">

UnhideWhenUsed="false" Name="Medium List 1 Accent 5">

UnhideWhenUsed="false" Name="Medium List 2 Accent 5">

UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5">

UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5">

UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5">

UnhideWhenUsed="false" Name="Dark List Accent 5">

UnhideWhenUsed="false" Name="Colorful Shading Accent 5">

UnhideWhenUsed="false" Name="Colorful List Accent 5">

UnhideWhenUsed="false" Name="Colorful Grid Accent 5">

UnhideWhenUsed="false" Name="Light Shading Accent 6">

UnhideWhenUsed="false" Name="Light List Accent 6">

UnhideWhenUsed="false" Name="Light Grid Accent 6">

UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6">

UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6">

UnhideWhenUsed="false" Name="Medium List 1 Accent 6">

UnhideWhenUsed="false" Name="Medium List 2 Accent 6">

UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6">

UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6">

UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6">

UnhideWhenUsed="false" Name="Dark List Accent 6">

UnhideWhenUsed="false" Name="Colorful Shading Accent 6">

UnhideWhenUsed="false" Name="Colorful List Accent 6">

UnhideWhenUsed="false" Name="Colorful Grid Accent 6">

UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis">

UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis">

UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference">

UnhideWhenUsed="false" QFormat="true" Name="Intense Reference">

UnhideWhenUsed="false" QFormat="true" Name="Book Title">

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}

04-07 20:24