I'm trying to set up MongoDB 1.6.3 on my Windows XP SP 3 machine.
I've followed the instructions from the MongoDB wiki. I can see the Windows service installed but not started.
The path to the executable looks like this:
"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
When I try to start the service I get an error popup with the following message:
Error 1053: The service did not respond to the start or control request in a timely fashion.
Changed the dbpath
and logpath
to c:/data/db
and c:/data/logs/mongodb.log
respectively, but the result was the same.
I've checked to make sure that all directories and files do indeed exist - no worries there.
I just tried it again @ 1:18 PM EDT, got the same error, and saw this in the log file:
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
So I believe the log file is set up properly and working correctly, but the info I get isn't helpful.
One more useful bit: I can run MongoDB without any issues if I open a command shell and start it up on the command line.
Any advice on where I went wrong or corrections would be greatly appreciated.
If one of the directories in logpath
or dbpath
doesn't exist, it will fail to start. So make sure the paths point to existing directories.
If the paths do exist, check the log file for more information on what went wrong.
I have been able to reproduce the problem and noticed the error code 0xc0000417
when I tried to debug it with Visual Studio. This is a STATUS_INVALID_CRUNTIME_PARAMETER
error, which means that an invalid parameter was passed to a C runtime function.
As you posted, the path to the executable is:
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
Now, when I tried to run the executable from a command prompt, it failed with the following message:
Invalid command: MongoDB
I have highlighted this faulty 'parameter' in the path above. It is the argument that is passed to the serviceName
parameter, but the --serviceName
directive itself was wrongly omitted. The correct path should be:
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
You could edit the path to the executable in the registry, by changing the ImagePath
in the following key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MongoDB
Another option is to simply omit the serviceName
parameter during installation, because MongoDB's service support is still flawed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With