How to run MongoDB as Windows service?

2019-01-03 11:53发布

How to setup MongoDB so it can run as Windows service?

26条回答
贪生不怕死
2楼-- · 2019-01-03 11:54

This PowerShell Script Downloads and Installs MongoDB as Windows Service:

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
查看更多
叼着烟拽天下
3楼-- · 2019-01-03 11:55

The below steps apply to Windows.

Run below in an administrative cmd

mongod --remove

This will remove the existing MongoDB service (if any).

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

Make sure that C:\data\db folder exists

Open services with:

services.msc

Find MongoDB -> Right click -> Start

查看更多
成全新的幸福
4楼-- · 2019-01-03 11:56
mongod --config "C:\Program Files\MongoDB\Server\3.6\mongod_primary.cfg" --install --serviceName "MongoDB_Primary" --serviceDisplayName "MongoDB Primary"
查看更多
我想做一个坏孩纸
5楼-- · 2019-01-03 12:00

This answer is for those who have already installed mongo DB using MSI installer.

Let's say your default installed location is "C:\Program Files\MongoDB\Server\3.2\bin"

Steps to run mongo as a window service

  1. Open command prompt as administrator
  2. Type cd C:\Program Files\MongoDB\Server\3.2\bin (check path properly, as you may have a different version installed, and not 3.2).
  3. Press enter
  4. Type net start MongoDB
  5. Press enter
  6. Press Windows + R, type services.msc and check if Mongo is running as a service.
查看更多
姐就是有狂的资本
6楼-- · 2019-01-03 12:02

These are the steps to install MongoDB as Windows Service :

  1. Create a log directory, e.g. C:\MongoDB\log

  2. Create a db directory, e.g. C:\MongoDB\db

  3. Prepare a configuration file with following lines

    dbpath=C:\MongoDB\db

    logpath=C:\MongoDB\log

    Place the configuration file with name mongod.cfg in folder "C:\MongoDB\"

  4. Following command will install the Windows Service on your 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. Once you run this command, you will get the [SC] CreateService SUCCESS

  6. Run following command on Command Prompt

    net start MongoDB

查看更多
姐就是有狂的资本
7楼-- · 2019-01-03 12:03

not only --install,

also need --dbpath and --logpath

and after reboot OS you need to delete "mongod.lock" manually

查看更多
登录 后发表回答