Comment exécuter MongoDB en tant que service Windows?

Comment configurer MongoDB pour qu’il puisse fonctionner en tant que service Windows?

Je pense que si vous l’exécutez avec le commutateur de ligne de commande --install , il l’installe en tant que service Windows.

 mongod --install 

Il peut être intéressant de lire ce fil en premier. Il semble y avoir des problèmes avec les chemins relatifs / absolus lorsque la clé de registre concernée est écrite.

Après avoir essayé plusieurs heures, je l’ai finalement fait.

Assurez-vous d’avoir ajouté le répertoire / bin à votre variable système PATH

J’ai d’abord exécuté cette commande:

 D:\mongodb\bin>mongod --remove 

J’ai d’abord exécuté cette commande après avoir ouvert l’invite de commande en tant qu’administrateur:

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

Après cela, dans l’invite de commande, exécutez:

 services.msc 

Et recherchez le service MongoDB et cliquez sur Démarrer.


REMARQUE: veillez à exécuter l’invite de commande en tant qu’administrateur.

Si vous ne le faites pas, votre fichier journal (‘D: \ mongodb \ log.txt’ dans l’exemple ci-dessus) contiendra des lignes comme celles-ci:

 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) 

et si vous essayez de démarrer le service à partir d’une console non-admin (par exemple net start MongoDB ou net start MongoDB Start-Service MongoDB dans PowerShell), vous obtiendrez une réponse comme celle-ci:

 System error 5 has occurred. Access is denied. 

ou ca:

 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 

non seulement --install ,

également besoin de --dbpath et --logpath

et après le redémarrage du système d’exploitation, vous devez supprimer “mongod.lock ” manuellement

Contrairement à d’autres réponses, cela va ..

COMMENCER LE SERVICE AUTOMATIQUEMENT SUR RÉINITIALISATION / REDÉMARRAGE DU SYSTÈME

MongoDB Installer

les fenêtres

(1) Installer MongoDB

(2) Ajouter un fichier au chemin

(3) Créer c: \ data \ db

(4) Créer c: \ data \ log

(5) Créer c: \ data \ mongod.cfg avec le contenu ..

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

(6) Pour créer un service qui démarrera automatiquement au redémarrage .. Exécuter en tant qu’admin ..

 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) Démarrez le service .. EXÉCUTEZ COMME ADMIN ..

 net start MongoDB 

IMPORTANT: même si cela dit “Le service MongoDB a été démarré avec succès”, il peut échouer

Pour vérifier le panneau de configuration> Services, vérifiez que le statut du service MongoDB est “En cours d’exécution”.

Si ce n’est pas le cas, vérifiez votre fichier journal dans C: \ data \ log \ mongod.log pour connaître la raison de l’échec et corrigez le problème.

(Ne démarrez pas MongoDB via le Panneau de configuration> Services, utilisez .. net start MongoDB)

(8) Enfin, redémarrez votre machine avec MongoDB en cours d’exécution et il sera toujours en cours d’exécution au redémarrage

Si jamais tu veux le tuer ..

 net stop MongoDB sc.exe delete MongoDB 

Les étapes ci-dessous s’appliquent à Windows.

Exécutez ci-dessous dans un cmd administratif

 mongod --remove 

Cela supprimera le service MongoDB existant (le cas échéant).

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

Assurez-vous que le dossier C:\data\db existe

Services ouverts avec:

 services.msc 

Trouver MongoDB -> Clic droit -> Démarrer

Vous pouvez utiliser la commande ci-dessous pour exécuter mongodb en tant que service 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 

Si vous utilisez mongodb avec les parameters par défaut, vous pouvez utiliser ces valeurs:

  • yourIPadress: 127.0.0.1 ou localhost
  • yourPortNumber: 27017 (port par défaut) ou ne pas mettre –port
  • serviceDisplayName: uniquement si vous exécutez plusieurs services (depuis mongodb 1.8)

Il y a plus d’informations sur cette commande ici

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

Ce script PowerShell télécharge et installe MongoDB en tant que service 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 

J’ai essayé toutes les réponses et je l’ai fait de la manière suivante: https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/#configure-a-windows-service-for-mongodb-community-edition le décrit. .

Utilisez un fichier de configuration …

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

C’était la seule chose qui fonctionnait pour moi. Comme tout devait être un chemin absolu:

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

Je devais aussi le lancer depuis admin cmd

Pensez à utiliser

 mongod --install --rest --master 

La méthode recommandée mongod --install entraîne une erreur:

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

Après avoir installé mongodb dans C:\mongodb vous devez simplement append le logpath:

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

Le chemin d’access au fichier journal doit exister et il doit s’agir d’un chemin Windows absolu. Ensuite, vous démarrez le service MongoDB en tapant:

 net start MongoDB 
 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 

Référence

C’est ce qui a fonctionné pour moi:

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

échapper à la binPath échouait pour moi comme décrit dans la documentation Mongo

Échoué:

 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" 

La manière la plus simple est,

  1. Créez le dossier C:\data\db
  2. Créer le fichier C:\data\db\log.txt
  3. Ouvrez l’invite de commande en tant que “Exécuter en tant qu’administrateur” et assurez-vous que le chemin du répertoire mogodb bin est correct et écrivez

     C:\Program Files\MongoDB\Server\3.4\bin> mongod.exe --install mongod --dbpath="c:\data\db" --logpath="c:\data\db\log.txt" 
  4. Démarrer le service mongodb:

     net run MongoDB 

Travailler sur MongoDB 3.4 [Windows]

  • Créez dir C: / mongodb / data
  • Créez un fichier dans C: /mongodb/mongodb.config en utilisant cette configuration:

     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 
  • Pour installer MongoDb en tant que service, exécutez cette commande dans Powershell avec admin power

    mongod –config = “C: \ mongodb \ mongodb.config” –install –service

  • Ouvrez Services.msc et recherchez MongoDb, puis démarrez-le

Travailler sur Mongo DB: 3.6

(1) Installer MongoDB

(2) Ajouter une variable bin au chemin d’environnement

(3) Créer c:\data\db

(4) Créer c:\data\mongod.log

(5) Exécuter sous la commande sur le dossier bin

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

(6) Démarrer mongo db en tant que service

net start MongoDB

(7) Enfin, lancez mongo en ligne de commande pour vérifier si le shell mongo est ouvert ou non.

Pour la version 2.4.3 (version actuelle à la date de publication), créez un fichier de configuration, puis exécutez les opérations suivantes:

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

Actuellement (jusqu’à la version 2.4.4), si un chemin (dbpath / logpath / config) contient des espaces, le service ne démarre pas et affiche l’erreur: “Le service ne répond pas à la fonction de contrôle”.

Je suis sur la version 2.4.9 et en utilisant un fichier de configuration. Le service ne commencerait pas tant que je n’aurais pas entouré le signe égal dans le fichier de configuration avec des espaces:

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

Au départ j’avais:

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

J’ai également découvert que lors de l’installation du service, vous devez utiliser un chemin absolu pour le fichier de configuration, par exemple:

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

Ne soyez pas tenté de mettre des guillemets inversés autour d’un dbpath avec des espaces. Le service semblera commencer lorsque vous exécuterez net start MongoDB mais il se terminera. Vérifiez les fichiers journaux pour confirmer que le service a réellement démarré.

Exécutez “cmd.exe” en tant qu’administrateur, puis exécutez “sc.exe” pour append un nouveau service Windows.

par exemple:

 sc.exe create MongoDB binPath= "c:\program files\mongodb\server\3.2\bin\mongod.exe" 

J’ai trouvé que vous devriez passer: dbpath, config et logfile à mongod avec l’indicateur d’installation

Exemple :

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

note: j’ai un chemin mongod dans ma variable de chemin.

Vous pouvez contrôler le service avec:

 net start mongodb net stop mongodb 

Si vous installez MongoDB 2.6.1 ou une version ultérieure à l’aide du téléchargement MSI à partir d’une invite de commandes de l’administrateur , une définition de service doit automatiquement être créée pour vous.

La documentation MongoDB comporte également un didacticiel pour vous aider à créer manuellement une définition de service Windows si nécessaire.

Cette réponse s’adresse à ceux qui ont déjà installé mongo DB à l’aide du programme d’installation MSI.

Supposons que votre emplacement par défaut est “C: \ Program Files \ MongoDB \ Server \ 3.2 \ bin”

Étapes pour exécuter mongo en tant que service de fenêtre

  1. Ouvrir l’invite de commande en tant qu’administrateur
  2. Tapez cd C:\Program Files\MongoDB\Server\3.2\bin (vérifiez le chemin correctement, car vous pouvez avoir une version différente installée, et non 3.2).
  3. Appuyez sur Entrée
  4. Tapez net start MongoDB
  5. Appuyez sur Entrée
  6. Appuyez sur Windows + R, tapez services.msc et vérifiez si Mongo est exécuté en tant que service.

Voici les étapes pour installer MongoDB en tant que service Windows:

  1. Créez un répertoire de journalisation, par exemple C:\MongoDB\log

  2. Créez un répertoire de firebase database, par exemple C:\MongoDB\db

  3. Préparer un fichier de configuration avec les lignes suivantes

    dbpath=C:\MongoDB\db

    logpath=C:\MongoDB\log

    Placez le fichier de configuration nommé mongod.cfg dans le dossier “C: \ MongoDB \”

  4. La commande suivante installe le service Windows sur votre 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. Une fois que vous exécutez cette commande, vous obtiendrez le [SC] CreateService SUCCESS

  6. Exécuter la commande suivante sur l’invite de commandes

    net start MongoDB

 mongod --config "C:\Program Files\MongoDB\Server\3.6\mongod_primary.cfg" --install --serviceName "MongoDB_Primary" --serviceDisplayName "MongoDB Primary" 

Étape 1: Ouvrez une invite de commande de l’administrateur. Appuyez sur la touche Win, tapez cmd.exe et appuyez sur Ctrl + Maj + Entrée pour exécuter l’invite de commandes en tant qu’administrateur.

Exécutez les étapes restantes à partir de l’invite de commande de l’administrateur.

Étape 2: Créez des répertoires. Créez des répertoires pour votre firebase database et vos fichiers journaux:

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

Étape 3: Créez un fichier de configuration. Créez un fichier de configuration. Le fichier doit définir systemLog.path. Inclure des options de configuration supplémentaires, le cas échéant.

Par exemple, créez un fichier dans C: \ Program Files \ MongoDB \ Server \ 3.6 \ mongod.cfg qui spécifie à la fois systemLog.path et storage.dbPath:

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

Étape 4: Installez le service MongoDB. Important: Exécutez toutes les commandes suivantes dans l’invite de commandes avec “Privilèges d’administration”.

Installez le service MongoDB en démarrant mongod.exe avec l’option –install et l’option -config pour spécifier le fichier de configuration créé précédemment.

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

Pour utiliser un autre chemin dbpath, spécifiez le chemin dans le fichier de configuration (par exemple, C: \ mongodb \ mongod.cfg) ou sur la ligne de commande avec l’option –dbpath.

Si nécessaire, vous pouvez installer des services pour plusieurs instances de mongod.exe ou mongos.exe. Installez chaque service avec un –serviceName et un –serviceDisplayName uniques. Utilisez plusieurs instances uniquement lorsque des ressources système suffisantes existent et que la conception de votre système l’exige.

Étape 5: Démarrez le service MongoDB.

 net start MongoDB 

Étape 6: Arrêtez ou supprimez le service MongoDB si nécessaire. Pour arrêter le service MongoDB, utilisez la commande suivante:

 net stop MongoDB 

Plz essayez les étapes dans 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