Ошибка 1053 при запуске службы Windows XP при запуске Mongo DB 1.6.3 - PullRequest
5 голосов
/ 26 сентября 2010

Я пытаюсь настроить MongoDB 1.6.3 на моем компьютере с Windows XP SP 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: Служба не ответить на старт или контроль запрос своевременно.

Изменены dbpath и logpath на c:/data/db и c:/data/logs/mongodb.log соответственно, но результат был таким же.

Я проверил, чтобы убедиться, что все каталоги и файлы действительно существуют - не беспокойтесь там.

Я просто попробовал еще раз @ 13:18 EDT, получил ту же ошибку и увидел это в файле журнала:

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

Поэтому я считаю, что файл журнала настроен правильно и работает правильно, но информация, которую я получаю, не помогает.

Еще один полезный бит: я могу без проблем запустить MongoDB, если открою командную оболочку и запусту ее в командной строке.

Любой совет о том, где я ошибся или исправления, будет принята с благодарностью.

Ответы [ 2 ]

6 голосов
/ 26 сентября 2010

Если один из каталогов в logpath или dbpath не существует, он не запустится. Поэтому убедитесь, что пути указывают на существующие каталоги.

Если пути существуют, проверьте файл журнала для получения дополнительной информации о том, что пошло не так.

В ответ на ваше обновление

Я смог воспроизвести проблему и заметил код ошибки 0xc0000417, когда пытался отладить его с помощью Visual Studio. Это ошибка 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

Возможные способы исправить это

Вы можете изменить путь к исполняемому файлу в реестре, изменив ImagePath в следующем ключе:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MongoDB

Другой вариант - просто пропустить параметр serviceName во время установки, поскольку Сервисная поддержка MongoDB по-прежнему имеет недостатки .

0 голосов
/ 11 марта 2019

Я встретил ту же проблему и попробовал несколько способов. Наконец-то я получил решение этой проблемы.

1.пожалуйста, проверьте среду, в которой системные компоненты включают C ++ распространяемый для Visual Studio 2015

2.i просто снова установите тот компонент, который назван C ++ Redistributable for Visual Studio 2015, наконец, решите эту проблему.

...