如何设置MongoDB,使其可以作为Windows服务运行?


当前回答

考虑使用

mongod --install --rest --master

其他回答

这个答案是为那些已经使用MSI安装mongo DB的人准备的。

假设您的默认安装位置是“C:\Program Files\MongoDB\Server\3.2\bin”

运行mongo作为窗口服务的步骤

以管理员身份打开命令提示符 输入cd C:\Program Files\MongoDB\Server\3.2\bin(请正确检查路径,因为您可能安装了不同的版本,而不是3.2)。 按回车键 Type net start MongoDB 按回车键 按Windows + R,输入services。检查Mongo是否作为服务运行。

经过几个小时的努力,我终于做到了。

确保:

您将<MONGODB_PATH>\bin目录添加到系统变量PATH中 以管理员身份运行命令提示符


步骤:

第一步:执行以下命令:

D:\mongodb\bin>mongod --remove

第二步:以管理员身份打开命令提示符后执行该命令:

D:\mongodb\bin>mongod --dbpath=D:\mongodb --logpath=D:\mongodb\log.txt --install

注意:你也可以在上面的命令后面附加——serviceName MongoDB。

这是所有!


After that right there in the command prompt execute:
services.msc

// OR

net start MongoDB

寻找MongoDB service并单击start。


注意:确保以管理员身份运行命令提示符。

如果你不这样做,你的日志文件(在上面的例子中是D:\mongodb\log.txt)将包含这样的行:

2016-11-11T15:24:54.618-0800 I CONTROL  [main] Trying to install Windows service 'MongoDB'
2016-11-11T15:24:54.618-0800 I CONTROL  [main] Error connecting to the Service Control Manager: Access is denied. (5)

如果你试图从非管理控制台启动服务(即net start MongoDB或start - service MongoDB在PowerShell中),你会得到这样的响应:

System error 5 has occurred.
Access is denied.

或:

Start-Service : Service 'MongoDB (MongoDB)' cannot be started due to the following error: Cannot open MongoDB service
on computer '.'.
At line:1 char:1
+ Start-Service MongoDB
+ ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service],
   ServiceCommandException
    + FullyQualifiedErrorId : CouldNotStartService,Microsoft.PowerShell.Commands.StartServiceComman

我认为如果你用——install命令行开关运行它,它会把它作为Windows服务安装。

mongod --install

也许值得先读一下这篇文章。当写入相关的注册表项时,相对/绝对路径似乎存在一些问题。

最简单的方法是,

创建文件夹C:\data\db 创建文件C:\data\db\log.txt 以“以管理员身份运行”打开命令提示符,确认mogodb bin目录路径正确并写入 C:\Program Files\MongoDB\Server\3.4\ bin> mongod.exe——install mongod——dbpath="c:\data\db"——logpath="c:\data\db\log.txt" 启动mongodb服务: net run MongoDB

您可以使用下面的命令将mongodb作为windows服务运行

"C:\mongodb\bin\mongod" --bind_ip  yourIPadress  --logpath  "C:\data\dbConf\mongodb.log"  --logappend  --dbpath  "C:\data\db"  --port yourPortNumber --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install 

如果你使用mongodb默认参数,你可以使用这些值:

youripaddress: 127.0.0.1或localhost 你的portnumber: 27017(默认端口)或不放——port serviceDisplayName:仅当你运行多个服务时(从mongodb 1.8开始)

这里有关于这个命令的更多信息

http://www.mongodb.org/display/DOCS/Windows+Service