启动运行Mongo DB 1.6.3的Windows XP服务时出现错误1053

问题描述 投票:5回答:2

我正在尝试在我的Windows XP SP 3机器上设置MongoDB 1.6.3。

我遵循了MongoDB wiki的指示。我可以看到Windows服务已安装但尚未启动。

可执行文件的路径如下所示:

"C:\Tools\mongodb-win32-i386-1.6.3\bin\mongod" --bind_ip  127.0.0.1  --logpath  c:/mongodb/logs/mongodb.log  --logappend  --dbpath  "c:/mongodb/data"  --directoryperdb  MongoDB  --service  

当我尝试启动服务时,我收到一条错误弹出窗口,显示以下消息:

错误1053:服务未及时响应启动或控制请求。

分别将dbpathlogpath改为c:/data/dbc:/data/logs/mongodb.log,但结果是一样的。

我已经检查过以确保所有目录和文件确实存在 - 不用担心。

我刚刚在美国东部时间下午1点18分再次尝试,得到了同样的错误,并在日志文件中看到了这个:

Sun Sep 26 13:18:15 dbexit: 

Sun Sep 26 13:18:15 shutdown: going to close listening sockets...
Sun Sep 26 13:18:15 shutdown: going to flush oplog...
Sun Sep 26 13:18:15 shutdown: going to close sockets...
Sun Sep 26 13:18:15 shutdown: waiting for fs preallocator...
Sun Sep 26 13:18:15 shutdown: closing all files...
Sun Sep 26 13:18:15     closeAllFiles() finished

Sun Sep 26 13:18:15 dbexit: really exiting now

所以我相信日志文件设置正确并且工作正常,但我得到的信息没有帮助。

还有一点:如果我打开一个命令shell并在命令行启动它,我可以毫无问题地运行MongoDB。

任何关于我出错或更正的建议都将不胜感激。

mongodb windows-services install windows-xp
2个回答
6
投票

如果logpathdbpath中的某个目录不存在,则无法启动。因此,请确保路径指向现有目录。

如果路径确实存在,请检查日志文件以获取有关出错的更多信息。

In response to your update

当我尝试使用Visual Studio调试它时,我能够重现该问题并注意到错误代码0xc0000417。这是一个STATUS_INVALID_CRUNTIME_PARAMETER错误,这意味着将无效参数传递给C运行时函数。

正如您所发布的那样,可执行文件的路径是:

C:\Tools\mongodb-win32-i386-1.6.3\bin\mongod" --bind_ip 127.0.0.1 --logpath c:/mongodb/logs/mongodb.log --logappend --dbpath "c:/mongodb/data" --directoryperdbMongoDB--service

现在,当我尝试从命令提示符运行可执行文件时,它失败并显示以下消息:

命令无效:MongoDB

我在上面的路径中突出显示了这个错误的'参数'。它是传递给serviceName参数的参数,但是--serviceName指令本身被错误地省略了。正确的路径应该是:

C:\Tools\mongodb-win32-i386-1.6.3\bin\mongod" --bind_ip 127.0.0.1 --logpath c:/mongodb/logs/mongodb.log --logappend --dbpath "c:/mongodb/data" --directoryperdb--serviceName MongoDB--service

Possible ways to fix it

您可以通过更改以下密钥中的ImagePath来编辑注册表中可执行文件的路径:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MongoDB

另一种选择是在安装过程中简单地省略serviceName参数,因为MongoDB's service support is still flawed


0
投票

我遇到了同样的问题并尝试了一些方法。最后我得到了这个问题的解决方案。

1.请检查系统组件涉及Visual Studio 2015的C ++ Redistributable的环境

2.i再次安装为Visual Studio 2015命名为C ++ Redistributable的组件,最后解决此问题。

© www.soinside.com 2019 - 2024. All rights reserved.