转自“简时空”:《将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;}