Como executar MongoDB como serviço de Windows?

Como configurar o MongoDB para que possa funcionar como serviço Windows?

Author: Community, 2010-03-13

27 answers

Acho que se o executares com o botão da linha de comandos --install, ele instala-o como um serviço Windows.

mongod --install
Mas talvez valha a pena ler este tópico primeiro. Parece haver alguns problemas com caminhos relativos/absolutos quando a chave de registro relevante é escrita.
 100
Author: Stephen Curran, 2012-05-02 14:01:54
Depois de tentar durante várias horas, finalmente consegui.

Certifique-se que adicionou a pasta <MONGODB_PATH>\bin à variável do sistemaPATH

Primeiro executei este comando:

D:\mongodb\bin>mongod --remove

Então executei este comando depois de abrir a linha de comandos como administrador:

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

Depois disso, na linha de comandos, execute:

services.msc
Procure o serviço MongoDB e clique em Iniciar.

Nota: certifique-se de executar a linha de comandos como administrador.

Se não fizer isto, o seu ficheiro de Registo ('D:\mongodb\log.o txt ' no exemplo acima) conterá linhas como estas:

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)

E se você tentar iniciar o serviço a partir de uma consola não-admin, (ou seja net start MongoDB ou Start-Service MongoDB em PowerShell), você terá uma resposta como esta:

System error 5 has occurred.
Access is denied.

Ou isto:

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
 310
Author: hyeomans, 2018-09-20 07:43:08

Não só --install,

Também necessita --dbpath e --logpath

E depois de reiniciar o sistema operacional, tem de apagar {[[9]}"mongod.bloquear " manualmente

 63
Author: ruby, 2013-12-16 11:28:25
Ao contrário de outras respostas, esta vontade ..

INICIAR O SERVIÇO AUTOMATICAMENTE NO REINÍCIO / REINÍCIO DO SISTEMA

MongoDB Install

Janelas

(1) Instalar O MongoDB

(2) adicionar o bin ao path

(3) Criar c:\data\db

(4) Criar c:\data\log

(5) Criar c:\data\mongod.cfg com conteúdo ..

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

(6 )para criar um serviço que irá iniciar automaticamente no reboot .. CORRE COMO ADMINISTRADOR ..

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) Comece o serviço.. CORRE COMO ADMINISTRADOR..

net start MongoDB

Importante: mesmo que isto diga 'o serviço MongoDB foi iniciado com sucesso' ele pode falhar {[[6]}

Para verificar novamente o painel de controlo aberto > Serviços, certifique-se de que o estado do serviço MongoDB está a "correr"

Caso contrário, verifique o seu ficheiro de registo em C:\data\log\mongod.registar a razão da falha e corrigi-la

(não iniciar o MongoDB através do Painel de controlo > Serviços, usar .. net start MongoDB)

(8) finalmente, reinicie a sua máquina com O MongoDB está em execução e continuará em execução no reinício

Se quiseres matá-lo ..
net stop MongoDB

sc.exe delete MongoDB
 35
Author: danday74, 2016-12-10 13:13:51

Os passos abaixo aplicam-se às janelas.

Encontra - se abaixo num cmd

mongod --remove

Isto irá remover o serviço MongoDB existente (se existir).

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

Certifique-se que a pasta C:\data\db existe

Serviços abertos com:

services.msc

Procurar MongoDB - > botão direito - > Iniciar

 21
Author: student, 2017-09-26 18:34:38

Pode usar o comando abaixo para executar o mongodb como serviço do 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 

Se usar o mongodb com parâmetros predefinidos, pode usar estes valores:

  • yourIPadress: 127. 0. 0. 1 ou localhost
  • o seu número de registo: 27017 (Porto predefinido) ou não colocar --port
  • serviceDisplayName: só se executar mais do que um serviço (desde mongodb 1, 8)
Há mais informações sobre este comando aqui.

Http://www.mongodb.org/display/DOCS/Windows+Serviço

 18
Author: chafank, 2011-06-29 15:19:49

Este Script PowerShell transfere e instala o MongoDB como serviço 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
 14
Author: Serdar, 2015-08-30 23:15:20
Esta foi a única coisa que funcionou para mim. Como tudo tinha que ser um caminho absoluto:
C:\Program Files\MongoDB\Server\3.2\bin>mongod --install --dbpath=c:/data/db --logpath=c:/data/logs/log.txt

Eu também tive que correr de admin cmd

 10
Author: Jamie Hutber, 2016-09-11 14:56:06

Considere utilizar

mongod --install --rest --master
 5
Author: jrojo, 2011-01-24 17:36:43

A forma recomendada mongod --install resulta em erro:

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

Depois de ter instalado o mongodb em {[4] } , tem de simplesmente adicionar o logpath:

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

O caminho para o logfile deve existir e deve ser um caminho absoluto do Windows. Então você começa o serviço MongoDB escrevendo:

net start MongoDB
 5
Author: Peter Gerhat, 2015-12-03 17:27:30

Trabalhar em Mongo DB: 3.6

(1) Instalar O MongoDB

(2) Adicionar bin à variável de localização do ambiente

(3) Criar c:\data\db

(4) Criar c:\data\mongod.log

(5) Executar abaixo do comando na bin pasta

.\mongod.exe --install --logpath c:\data\mongod.registo --logappend -- bind_ip 12 7. 0. 0. 1 --dbpath c:\data\db

(6) para iniciar o mongo db como serviço

Net start MongoDB

(7) finalmente executar mongo em a linha de comandos para verificar se a linha de comandos do mongo está aberta ou não.

 5
Author: Zahid Rahman, 2018-01-26 17:08:14
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

Referência

 4
Author: Hassan Amir Khan, 2013-11-17 17:59:52
Isto foi o que funcionou para mim.
sc.exe create MongoDB binPath= "d:\MongoDB\bin\mongod.exe --service --config=d:\MongoDB\bin\mongod.config" displayname= "MongoDB 2.6 Standard" start= "auto"

Escapar do binPath estava a falhar para mim como descrito na documentação de Mongo

Falhou:

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"
 4
Author: Enkode, 2014-07-24 10:05:25

A maneira mais simples é,

  1. criar a pasta C:\data\db
  2. criar um ficheiro C:\data\db\log.txt
  3. Abrir a linha de comandos como "executar como Administrador" e certificar-se de que a localização da pasta do mogodb bin está correcta e escrever

    C:\Program Files\MongoDB\Server\3.4\bin> mongod.exe --install mongod --dbpath="c:\data\db" --logpath="c:\data\db\log.txt" 
    
  4. Iniciar o serviço mongodb:

    net run MongoDB
    
 4
Author: Arsalan Ahmed Khan, 2017-04-04 22:20:23

A trabalhar no MongoDB 3.4 [Janelas]

  • Criar pasta C:/mongodb/data
  • Criar um ficheiro em C:/mongodb/mongodb.configuração com esta configuração:

    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
    
  • Para instalar o MongoDb como um serviço, execute este comando em powershell com poder de administração

    Mongod -- config="C:\mongodb\mongodb.configuração " --install --service

  • Serviços Abertos.msc e procurar MongoDb, em seguida, iniciá - lo

 4
Author: Marco Fantasia, 2017-08-22 08:06:12

Para a versão 2. 4. 3 (versão actual a partir da data de publicação), crie um ficheiro de configuração e execute depois o seguinte:

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

 3
Author: iisystems, 2013-05-02 20:21:39

Actualmente (até à Versão 2.4.4), se algum caminho (dbpath/logpath/config) contiver espaços, então o serviço não irá iniciar, e mostrar o erro: "o serviço não está a responder à função de controlo".

 3
Author: RoeeK, 2013-06-23 15:48:26

Estou na versão 2.4.9 e a usar um ficheiro de configuração. O serviço não começaria até que eu rodeasse o sinal de igual no ficheiro de configuração com espaços:

dbpath = D:\Mongo data
logpath = C:\mongodb\logs\mongo.log 
logappend = true

Originalmente eu tinha:

logpath=C:\mongodb\logs\mongo.log 

Também descobri que, ao instalar o serviço, tem de usar um caminho absoluto para o ficheiro de configuração, por exemplo:

c:\mongodb\bin\>mongodb.exe C:\mongodb\bin\mongod.conf --install

Não se sinta tentado a colocar vírgulas invertidas em torno de um dbpath com espaços. O serviço terá início quando executar o MongoDB mas terminará. Verifique os ficheiros de registo para confirmação de que o serviço realmente começou.

 2
Author: CrispinH, 2014-01-20 19:36:30

Executar " cmd.exe " como administrador e, em seguida, executar "sc.exe " para adicionar um novo serviço Windows.

Por exemplo:

sc.exe create MongoDB binPath= "c:\program files\mongodb\server\3.2\bin\mongod.exe"
 2
Author: Terry Lin, 2016-06-30 17:51:17

Eu achei que você deveria passar: dbpath, config e logfile para mongod com a bandeira de instalação

Exemplo:

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

Nota: tenho um caminho mongod na minha variável path .

Podes controlar o serviço com:

net start mongodb
net stop  mongodb 
 2
Author: aeid, 2016-10-13 23:09:17

Se instalar o MongoDB 2. 6. 1 ou mais recente usando o MSI download a partir de um comando de administrador , deverá ser criada automaticamente uma definição de Serviço para si.

A documentação do MongoDB também tem um tutorial para o ajudar a criar manualmente uma definição do Windows Service , Se necessário.

 1
Author: Stennie, 2014-07-07 01:12:25

Esta resposta é para aqueles que já instalaram mongo DB usando o instalador MSI.

[[4]} digamos que a sua localização predefinida é "C:\Program ficheiros\MongoDB\Server\3.2\bin"

Passos para executar mongo como um serviço de janela

  1. abrir a linha de comandos como administrador
  2. Tipo cd C:\Program Files\MongoDB\Server\3.2\bin (verificar a localização correctamente, dado que poderá ter uma versão diferente instalada, e não o 3.2).
  3. pressione enter
  4. Tipo net start MongoDB
  5. pressione enter
  6. Pressione Windows + R, type services.msc e verifique se o Mongo está a correr como serviço.
 1
Author: Abhas Bhoi, 2017-03-07 21:12:19

Estes são os passos para instalar o MongoDB como serviço Windows:

  1. Criar um diretório de log, e.g. C:\MongoDB\log

  2. Criar um diretório db, e.g. C:\MongoDB\db

  3. Prepare um ficheiro de configuração com as seguintes linhas

    dbpath=C:\MongoDB\db

    logpath=C:\MongoDB\log

    coloque o ficheiro de configuração com o nome mongod.cfg na pasta "C:\MongoDB\"

  4. A seguir o comando irá instalar o serviço Windows no seu 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. Uma vez que você executar este comando, você terá o [SC] CreateService SUCCESS

  6. Executar o seguinte comando na linha de comandos

    net start MongoDB

 1
Author: C.P. Soni, 2017-03-22 00:30:29
mongod --config "C:\Program Files\MongoDB\Server\3.6\mongod_primary.cfg" --install --serviceName "MongoDB_Primary" --serviceDisplayName "MongoDB Primary"
 0
Author: Gehan Fernando, 2018-03-30 01:33:24

Passo 1: Abra uma linha de comandos do administrador. Pressione a tecla Win, digite cmd.exe, e carregue em Ctrl + Shift + Enter para executar a linha de comandos como administrador.

Execute os passos restantes da linha de comandos do administrador.

Passo 2: criar pastas. Criar pastas para a sua base de dados e ficheiros de Registo:

mkdir c:\data\db
mkdir c:\data\log

Passo 3: crie um ficheiro de configuração. Criar um ficheiro de configuração. O ficheiro deve definir o systemLog.caminho. Incluir opções de configuração adicionais, conforme apropriado.

Por exemplo, crie um ficheiro em C:\Program ficheiros\MongoDB\Server\3.6\mongod.cfg que especifica ambos systemLog.caminho e armazenamento.dbPath:

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

Passo 4: Instale o serviço MongoDB. Importante: execute todos os seguintes comandos na linha de comandos com "privilégios administrativos".

Instale o serviço MongoDB iniciando mongod.exe com a opção --install e a opção-config para indicar a opção criada anteriormente configuracao.

"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe" --config "C:\Program Files\MongoDB\Server\3.4\mongod.cfg" --install

Para usar um dbath alternativo, especifique a localização no ficheiro de configuração (e.g. C:\mongodb\mongod.cfg) ou na linha de comandos com a opção --dbpath.

Se necessário, pode instalar serviços para várias instâncias de mongod.exe ou mongos.exe. Instale cada serviço com um único --serviceName e --serviceDisplayName. Use várias instâncias apenas quando existem recursos suficientes do sistema e o seu design do sistema o requer.

Passo 5: Início o serviço MongoDB.

net start MongoDB

Passo 6: parar ou remover o serviço MongoDB conforme necessário. Para parar o serviço MongoDB use o seguinte comando:

net stop MongoDB
 0
Author: Codemaker, 2018-06-29 13:54:30

Plz tente os passos em 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
 -1
Author: TinhNQ, 2018-06-08 06:43:20