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


当前回答

这是唯一对我有用的方法。因为所有东西都必须是绝对路径:

C:\Program Files\MongoDB\Server\3.2\bin>mongod --install --dbpath=c:/data/db --logpath=c:/data/logs/log.txt

我还必须从管理cmd运行它

其他回答

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

mongod --install

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

我发现你应该用install标志将:dbpath, config和logfile传递给mongod

例子:

mongod --dbpath=c:\data\db --config=c:\data\db\config.cfg --logpath=c:\data\db\log.txt --install 

注意:我的路径变量中有mongod path。

你可以通过以下方式控制服务:

net start mongodb
net stop  mongodb 

我使用的是2.4.9版本,并使用配置文件。直到我在配置文件中用空格包围了等号,服务才会启动:

dbpath = D:\Mongo data
logpath = C:\mongodb\logs\mongo.log 
logappend = true

原来我有:

logpath=C:\mongodb\logs\mongo.log 

我还发现,当安装服务时,你必须使用配置文件的绝对路径,例如:

c:\mongodb\bin\>mongodb.exe C:\mongodb\bin\mongod.conf --install

不要尝试在dbpath周围使用带有空格的倒逗号。当您执行net start MongoDB时,服务将显示启动,但它将终止。检查日志文件以确认服务已经真正启动。

以管理员身份运行“cmd.exe”,然后运行“sc.exe”,添加一个新的Windows服务。

例如:

sc.exe create MongoDB binPath= "c:\program files\mongodb\server\3.2\bin\mongod.exe"

我尝试了所有的答案,然后按照https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/#configure-a-windows-service-for-mongodb-community-edition描述的方式来做。

使用配置文件…

“C:\mongodb\bin\mongo .exe”——config“C:\mongodb\mongo .cfg”——安装