如何设置MongoDB,使其可以作为Windows服务运行?
当前回答
经过几个小时的努力,我终于做到了。
确保:
您将<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
其他回答
我使用的是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时,服务将显示启动,但它将终止。检查日志文件以确认服务已经真正启动。
正在mongodb DB: 3.6上工作
(1)安装MongoDB
(2)将bin添加到环境路径变量中
(3)创建c:\data\db
(4)创建c:\data\mongo .log
(5)在bin文件夹上执行以下命令
.\mongo .exe——install——logpath c:\data\mongo .log——logappend ——bind_ip 12 7.0.0.1——dbpath c:\data\db
(6)启动mongodb作为服务
net start MongoDB
(7)最后在命令行中运行mongo,检查mongo shell是否打开。
我发现你应该用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
我尝试了所有的答案,然后按照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”——安装
目前(直到2.4.4版本),如果任何路径(dbpath/logpath/config)包含空格,那么服务将不会启动,并显示错误:“服务没有响应控制功能”。
推荐文章
- 为什么MongoDB Java驱动在条件中使用随机数生成器?
- 在猫鼬,我如何排序的日期?(node . js)
- 将映像存储在MongoDB数据库中
- 重复Mongo ObjectId的可能性在两个不同的集合中生成?
- Redis比mongoDB快多少?
- 亚马逊SimpleDB vs亚马逊DynamoDB
- 无法连接到服务器127.0.0.1:27017
- 如何创建数据库的MongoDB转储?
- 如何将MongoDB作为Windows服务运行?
- 如何监听MongoDB集合的变化?
- 什么时候不使用Cassandra?
- 如何在猫鼬排序?
- BASE术语解释
- .msi和setup.exe文件之间的具体区别是什么?
- 映射一个网络驱动器供服务使用