Как запустить MongoDB в качестве службы Windows?

mongodb windows-services nosql

184804 просмотра

27 ответа

2022 Репутация автора

Как настроить MongoDB, чтобы он мог работать как служба Windows?

Автор: heisthedon Источник Размещён: 13.03.2010 10:49

Ответы (27)


102 плюса

6719 Репутация автора

Решение

Я думаю, что если вы запустите его с параметром --installкомандной строки, он будет установлен как служба Windows.

mongod --install

Возможно, стоит сначала прочитать эту ветку . Кажется, есть некоторые проблемы с относительными / абсолютными путями, когда пишется соответствующий раздел реестра.

Автор: Stephen Curran Размещён: 13.03.2010 02:58

5 плюса

424 Репутация автора

Рассмотреть возможность использования

mongod --install --rest --master
Автор: jrojo Размещён: 24.01.2011 05:36

63 плюса

636 Репутация автора

не только --install,

также нужно --dbpathи--logpath

и после перезагрузки ОС нужно вручную удалить «mongod.lock »

Автор: ruby Размещён: 02.03.2011 09:45

18 плюса

350 Репутация автора

Вы можете использовать команду ниже для запуска mongodb в качестве службы Windows

"C:\mongodb\bin\mongod" --bind_ip  yourIPadress  --logpath  "C:\data\dbConf\mongodb.log"  --logappend  --dbpath  "C:\data\db"  --port yourPortNumber --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install 

Если вы используете mongodb с параметрами по умолчанию, вы можете использовать эти значения:

  • yourIPadress: 127.0.0.1 или локальный хост
  • yourPortNumber: 27017 (порт по умолчанию) или не ставьте --port
  • serviceDisplayName: только если вы запускаете более одного сервиса (начиная с mongodb 1.8)

Здесь больше информации об этой команде

http://www.mongodb.org/display/DOCS/Windows+Service

Автор: chafank Размещён: 29.06.2011 03:19

319 плюса

3597 Репутация автора

Попробовав несколько часов, я наконец сделал это.

Убедитесь, что вы добавили <MONGODB_PATH>\binкаталог в системную переменнуюPATH

Сначала я выполнил эту команду:

D:\mongodb\bin>mongod --remove

Затем я выполнил эту команду после открытия командной строки от имени администратора:

D:\mongodb\bin>mongod --dbpath=D:\mongodb --logpath=D:\mongodb\log.txt --install

После этого прямо в командной строке выполните:

services.msc

И найдите сервис MongoDB и нажмите Пуск.


ПРИМЕЧАНИЕ. Обязательно запустите командную строку от имени администратора.

Если вы этого не сделаете, ваш файл журнала ('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
Автор: hyeomans Размещён: 25.10.2011 08:53

14 плюса

841 Репутация автора

Этот скрипт PowerShell загружает и устанавливает MongoDB в качестве службы Windows:

Set-ExecutionPolicy RemoteSigned

$mongoDbPath = "C:\MongoDB" 
$mongoDbConfigPath = "$mongoDbPath\mongod.cfg"
$url = "http://downloads.mongodb.org/win32/mongodb-win32-x86_64-2008plus-2.4.9.zip" 
$zipFile = "$mongoDbPath\mongo.zip" 
$unzippedFolderContent ="$mongoDbPath\mongodb-win32-x86_64-2008plus-2.4.9"

if ((Test-Path -path $mongoDbPath) -eq $True) 
{ 
  write-host "Seems you already installed MongoDB"
    exit 
}

md $mongoDbPath 
md "$mongoDbPath\log" 
md "$mongoDbPath\data" 
md "$mongoDbPath\data\db"

[System.IO.File]::AppendAllText("$mongoDbConfigPath", "dbpath=C:\MongoDB\data\db`r`n")
[System.IO.File]::AppendAllText("$mongoDbConfigPath", "logpath=C:\MongoDB\log\mongo.log`r`n")
[System.IO.File]::AppendAllText("$mongoDbConfigPath", "smallfiles=true`r`n")
[System.IO.File]::AppendAllText("$mongoDbConfigPath", "noprealloc=true`r`n")

$webClient = New-Object System.Net.WebClient 
$webClient.DownloadFile($url,$zipFile)

$shellApp = New-Object -com shell.application 
$destination = $shellApp.namespace($mongoDbPath) 
$destination.Copyhere($shellApp.namespace($zipFile).items())

Copy-Item "$unzippedFolderContent\*" $mongoDbPath -recurse

Remove-Item $unzippedFolderContent -recurse -force 
Remove-Item $zipFile -recurse -force

& $mongoDBPath\bin\mongod.exe --config $mongoDbConfigPath --install

& net start mongodb
Автор: Serdar Размещён: 24.04.2013 12:19

3 плюса

807 Репутация автора

Для версии 2.4.3 (текущая версия на дату публикации) создайте файл конфигурации и затем выполните следующее:

C:\MongoDB\bin\mongod.exe --config C:\MongoDB\mongod.cfg --service

Автор: iisystems Размещён: 02.05.2013 08:21

3 плюса

757 Репутация автора

В настоящее время (до версии 2.4.4), если какой-либо путь (dbpath / logpath / config) содержит пробелы, служба не запускается и выдает ошибку: «Служба не отвечает на функцию управления».

Автор: RoeeK Размещён: 23.06.2013 03:48

4 плюса

435 Репутация автора

1) echo logpath=F:\mongodb\log\mongo.log > F:\mongodb\mongod.cfg

2) dbpath=F:\mongodb\data\db [add this to the next line in mongod.cfg]

C:\>F:\mongodb\bin\mongod.exe –config F:\mongodb\mongod.cfg –install

Ссылка

Автор: Hassan Amir Khan Размещён: 17.11.2013 05:59

2 плюса

891 Репутация автора

Я на версии 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, но будет остановлена. Проверьте файлы журнала для подтверждения того, что служба действительно запущена.

Автор: CrispinH Размещён: 20.01.2014 07:36

1 плюс

46685 Репутация автора

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

В документации MongoDB также есть учебник, который поможет вам вручную создать определение службы Windows, если это необходимо.

Автор: Stennie Размещён: 05.07.2014 09:11

4 плюса

2634 Репутация автора

Вот что сработало для меня:

sc.exe create MongoDB binPath= "d:\MongoDB\bin\mongod.exe --service --config=d:\MongoDB\bin\mongod.config" displayname= "MongoDB 2.6 Standard" start= "auto"

сбой binPath для меня не удался, как описано в документации Mongo

Не удалось:

sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB 2.6 Standard\bin\mongod.exe\" --service --config=\"C:\Program Files\MongoDB 2.6 Standard\mongod.cfg\"" DisplayName= "MongoDB 2.6 Standard" start= "auto"
Автор: Enkode Размещён: 24.07.2014 10:05

6 плюса

3087 Репутация автора

Рекомендуемый способ mongod --installприводит к ошибке:

2015-12-03T18:18:28.896+0100 I CONTROL  --install has to be used with a log file for server output

После установки mongodb C:\mongodbвам нужно просто добавить лог-путь:

mongod --install --logpath C:\mongodb\logs\mongo.log

Путь к файлу журнала должен существовать, и он должен быть абсолютным путем Windows. Затем вы запускаете сервис MongoDB, набрав:

net start MongoDB
Автор: Peter Gerhat Размещён: 03.12.2015 05:27

14 плюса

2030 Репутация автора

Я перепробовал все ответы, а затем сделал это так, как https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/#configure-a-windows-service-for-mongodb-community-edition описывает это ,

Используйте файл конфигурации ...

"C:\mongodb\bin\mongod.exe" --config "C:\mongodb\mongod.cfg" --install

Автор: helt Размещён: 19.03.2016 12:21

2 плюса

1472 Репутация автора

Запустите «cmd.exe» как администратор, а затем «sc.exe», чтобы добавить новую службу Windows.

например:

sc.exe create MongoDB binPath= "c:\program files\mongodb\server\3.2\bin\mongod.exe"
Автор: Terry Lin Размещён: 30.06.2016 05:51

10 плюса

13435 Репутация автора

Это было единственное, что сработало для меня. Как все должно быть по абсолютному пути:

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

Я также должен был запустить его из admin cmd

Автор: Jamie Hutber Размещён: 11.09.2016 02:56

2 плюса

1961 Репутация автора

Я обнаружил, что вы должны передать: dbpath, config и logfile в mongod с флагом установки

пример :

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

примечание: у меня есть путь Mongod в моей переменной пути.

Вы можете контролировать сервис с:

net start mongodb
net stop  mongodb 
Автор: aeid Размещён: 13.10.2016 11:09

37 плюса

18797 Репутация автора

В отличие от других ответов это будет ..

ЗАПУСК СЕРВИСА АВТОМАТИЧЕСКИ НА ПЕРЕЗАГРУЗКЕ / ПЕРЕЗАГРУЗКЕ СИСТЕМЫ

MongoDB Установить

Windows

(1) Установите MongoDB

(2) Добавить корзину к пути

(3) Создайте c: \ data \ db

(4) Создать c: \ data \ log

(5) Создайте c: \ data \ mongod.cfg с содержимым.

systemLog:
    destination: file
    path: c:\data\log\mongod.log
storage:
    dbPath: c:\data\db

(6) Чтобы создать службу, которая будет автоматически запускаться при перезагрузке .. Выполнить как администратор ..

sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe\" --service --config=\"C:\data\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"

(7) Запустите службу .. ЗАПУСТИТЕ КАК АДМИНИСТРАТОР ..

net start MongoDB

ВАЖНО: Даже если это говорит «Сервис MongoDB был успешно запущен», он может потерпеть неудачу

Чтобы дважды проверить, откройте Панель управления> Службы, убедитесь, что статус службы MongoDB «Работает»

Если нет, проверьте файл журнала в C: \ data \ log \ mongod.log на предмет причины сбоя и исправьте его

(Не запускайте MongoDB через Панель управления> Службы, используйте .. net start MongoDB)

(8) Наконец, перезагрузите компьютер с запущенным MongoDB, и он все еще будет работать при перезагрузке

Если ты когда-нибудь захочешь это убить ..

net stop MongoDB

sc.exe delete MongoDB
Автор: danday74 Размещён: 10.12.2016 08:03

1 плюс

15 Репутация автора

Этот ответ предназначен для тех, кто уже установил mongo DB с помощью установщика MSI.

Допустим, по умолчанию установлено ваше местоположение: «C: \ Program Files \ MongoDB \ Server \ 3.2 \ bin»

Шаги для запуска Монго в качестве службы окна

  1. Откройте командную строку как администратор
  2. Тип cd C:\Program Files\MongoDB\Server\3.2\bin(проверьте путь правильно, так как у вас может быть установлена ​​другая версия, а не 3.2).
  3. Нажмите Ввод
  4. Тип net start MongoDB
  5. Нажмите Ввод
  6. Нажмите Windows + R, введите services.mscи проверьте, работает ли Mongo как сервис.
Автор: Abhas Bhoi Размещён: 07.03.2017 07:20

1 плюс

21 Репутация автора

Это шаги для установки MongoDB в качестве службы Windows:

  1. Создайте каталог журналов, например C:\MongoDB\log

  2. Создайте каталог БД, например C:\MongoDB\db

  3. Подготовьте файл конфигурации со следующими строками

    dbpath=C:\MongoDB\db

    logpath=C:\MongoDB\log

    Поместите файл конфигурации с именем mongod.cfg в папку "C: \ MongoDB \"

  4. Следующая команда установит Службу Windows на ваш sc.exe create MongoDB binPath= "\"C:\MongoDB\Server\3.4\bin\mongod.exe\" --service --config=\"C:\MongoDB\mongod.cfg\" DisplayName= "MongoDB 3.4" start= "auto"

  5. После запуска этой команды вы получите [SC] CreateService SUCCESS

  6. Запустите следующую команду в командной строке

    net start MongoDB

Автор: C.P. Soni Размещён: 21.03.2017 06:54

4 плюса

264 Репутация автора

Самый простой способ,

  1. Создать папку C:\data\db
  2. Создать файл C:\data\db\log.txt
  3. Откройте командную строку с именем «Запуск от имени администратора» и убедитесь, что путь к папке с каталогом mogodb указан правильно, и введите

    C:\Program Files\MongoDB\Server\3.4\bin> mongod.exe --install mongod --dbpath="c:\data\db" --logpath="c:\data\db\log.txt" 
    
  4. Запустите сервис mongodb:

    net run MongoDB
    
Автор: Arsalan Ahmed Khan Размещён: 04.04.2017 09:50

22 плюса

10780 Репутация автора

Следующие шаги относятся к Windows.

Запустите ниже в административном cmd

mongod --remove

Это удалит существующий сервис MongoDB (если есть).

mongod --dbpath "C:\data\db" --logpath "C:\Program Files\MongoDB\Server\3.4\bin\mongod.log" --install --serviceName "MongoDB"

Убедитесь, что C:\data\dbпапка существует

Открытые услуги с:

services.msc

Найти MongoDB -> Правый клик -> Пуск

Автор: student Размещён: 18.04.2017 01:39

4 плюса

692 Репутация автора

Работа на MongoDB 3.4 [Windows]

  • Создать каталог C: / mongodb / data
  • Создайте файл в C: /mongodb/mongodb.config, используя эту конфигурацию:

    storage:
        engine: wiredTiger
        dbPath: "C:/mongodb/data"
        directoryPerDB: true
        journal:
            enabled: true
    systemLog:
        destination: file
        path: "C:/mongodb/data/mongod.log"
        logAppend: true
        timeStampFormat: iso8601-utc
    net:
        bindIp: 127.0.0.1
        port: 27017
        wireObjectCheck : false
    
  • Чтобы установить MongoDb как сервис, запустите эту команду в powershell с правами администратора

    mongod --config = "C: \ mongodb \ mongodb.config" --install --service

  • Откройте Services.msc и найдите MongoDb, затем запустите его

Автор: Marco Fantasia Размещён: 21.08.2017 06:40

5 плюса

963 Репутация автора

Работа на БД Монго: 3.6

(1) Установите MongoDB

(2) Добавить bin к переменной окружения

(3) Создать c:\data\db

(4) Создать c:\data\mongod.log

(5) Запустите команду ниже в binпапке

. \ mongod.exe --install --logpath c: \ data \ mongod.log --logappend --bind_ip 12 7.0.0.1 --dbpath c: \ data \ db

(6) Для запуска Монго БД в качестве службы

чистый старт MongoDB

(7) Наконец, запустите mongoв командной строке, чтобы проверить, открыта ли оболочка монго или нет.

Автор: Zahid Rahman Размещён: 26.01.2018 05:08

0 плюса

545 Репутация автора

mongod --config "C:\Program Files\MongoDB\Server\3.6\mongod_primary.cfg" --install --serviceName "MongoDB_Primary" --serviceDisplayName "MongoDB Primary"
Автор: Gehan Fernando Размещён: 30.03.2018 01:33

-1 плюса

1171 Репутация автора

Пожалуйста, попробуйте шаги в Mongo DB: 3.6 и Windows 10

  1. mongod --remove
  2. mongod --dbpath=C:/data/db --port 27017 --logpath C:/data/log/log.txt --service
  3. mongod --dbpath=C:/data/db --port 27017 --logpath C:/data/log/log.txt --install
  4. net start MongoDB
Автор: TinhNQ Размещён: 08.06.2018 06:43

0 плюса

71 Репутация автора

1- проверьте службы Windows
-> если у вас есть служба для mongo, удалите ее,
выполнив нижеприведенную команду mongod --remove
2- создайте файл mongo.cfg со следующим содержимым

systemLog:
пункт назначения:
путь к файлу : c: \ data \ log \ mongod.log
хранилище:
dbPath: c: \ data \ db

путь: где вы хотите хранить данные журнала
dbPath: каталог вашей базы данных

-> затем выполните команду ниже

sc.exe create MongoDB binPath = "\" C: \ Program Files \ MongoDB \ Server \ 3.2 \ bin \ mongod.exe \ "--service --config = \" C: \ Program Files \ MongoDB \ Server \ 3.2 \ mongod.cfg \ "" DisplayName = "MongoDB" start = "auto"

binPath: каталог установки mongodb
config: адрес файла .cfg
DisplayName: имя вашей службы
-> запустить
net start MongoDB


теперь все сделано. наслаждайся этим

Автор: A.Hamzavi Размещён: 02.02.2019 07:58
Вопросы из категории :
32x32