ฉันจะเรียกใช้ MongoDB เป็นบริการ Windows ได้อย่างไร


207

ฉันจะตั้งค่า MongoDB เพื่อให้สามารถทำงานเป็นบริการ Windows ได้อย่างไร


15
ทุกคนที่มาที่นี่ในปี 2558 หรือหลังจากนั้นอาจจะไปตรวจสอบเอกสาร: docs.mongodb.org/master/tutorial/install-mongodb-on-windows
jordanpg

อืมมม นั่นเป็นงานที่ค่อนข้างมากกว่าคำตอบที่ยอมรับ :-(.
Kees de Kooter

คำตอบ:


118

ฉันคิดว่าถ้าคุณรันด้วย--installสวิตช์บรรทัดคำสั่งมันจะติดตั้งเป็นบริการของ Windows

mongod --install

มันอาจจะคุ้มค่าที่จะอ่านหัวข้อนี้ก่อน ดูเหมือนจะมีปัญหาบางอย่างกับเส้นทางสัมพัทธ์ / สัมบูรณ์เมื่อคีย์รีจิสทรีที่เกี่ยวข้องได้รับการเขียน


7
ในที่สุดฉันก็จัดการติดตั้งโดยดำเนินการนี้: mongod.exe --service
heisthedon

3
ดูเหมือนว่าสิ่งที่คุณต้องทำจริงๆคือป้อนเส้นทางแบบเต็มในบรรทัดคำสั่ง: c: \> c: \ mongodb \ bin \ mongod.exe - บริการ อย่างไรก็ตามตรวจสอบให้แน่ใจว่าได้รันหน้าต่างคำสั่งในฐานะผู้ดูแลระบบ (โดยเฉพาะอย่างยิ่งบนเซิร์ฟเวอร์ windows) มิฉะนั้นคุณจะถูกขัดขวางโดย UAC
JC Grubbs

2
ส่วนสำคัญนี้สามารถประหยัดเวลาสำหรับการตั้งค่าเครื่องdevleopment gist.github.com/serdarb/5102848
Serdar

1
และหลังจากคุณทำงานด้วย - ติดตั้งคุณจะต้องnet start MongoDB
John

17
มันต้องการเส้นทาง logfile คุณสามารถเพิ่มเส้นทาง dbpath และ logfile เช่น mongod นี้ --dbpath = "c: \ data \ db" --logpath = "c: \ data \ db \ log.txt" - ติดตั้งหลังจาก สิ่งนี้คุณต้องเรียกใช้ net start MongoDB
sivaram636

355

หลังจากลองมาหลายชั่วโมงฉันก็ทำได้

ตรวจสอบให้แน่ใจว่าคุณเพิ่ม<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

10
นอกจากนี้คุณยังสามารถเริ่มต้นด้วยแทนการใช้net start MongoDB services.msc( mongodแนะนำให้ฉัน)
Joe

1
สิ่งนี้ใช้ได้สำหรับฉัน ต้องสร้างพา ธ ไปยังไฟล์บันทึกด้วยตนเองหากยังไม่มีอยู่ (ฉันใช้พา ธ อื่นที่ไม่ใช่ไดเรกทอรี mongo ในตัวอย่าง)
dgundersen

ตอนแรก Mongo เริ่มบริการ แต่ฐานข้อมูลของฉันว่างเปล่า ฉันสามารถเห็นฐานข้อมูลที่มีอยู่ก่อนหน้านี้ของฉันโดยเพิ่ม \ data ไปยังเส้นทาง: mongod --dbpath = D: \ mongodb \ data
Jeremy Thille

"ตรวจสอบให้แน่ใจว่าได้เรียกใช้พรอมต์คำสั่งในฐานะผู้ดูแลระบบ" - ทำงานได้สำเร็จ! การทำงานโดยได้รับอนุญาตตามปกติไม่ได้เขียนคำเตือนใด ๆ แต่การบริการนั้นไม่ได้ถูกสร้างขึ้น สิทธิ์การอนุญาตการอนุญาต!
Dzoukr

1
ควรเป็นคำตอบที่ถูกต้อง
Logan Wlv

63

ไม่เพียง--install,

ยังต้องการ--dbpathและ--logpath

และหลังจากรีบูตระบบปฏิบัติการคุณต้องลบ"mongod.lock " ด้วยตนเอง


4
+1 สำหรับการลบไฟล์ mongod.lock สิ่งนี้ดูเหมือนว่าจะยังมีปัญหากับ 1.8.1 ที่รันบน 64 บิต
SethO

4
ดียิ่งขึ้นเพื่อระบุ - กำหนดค่าและกำหนด dbpath, logpath และตัวเลือกอื่น ๆ ที่นั่น
Oleg

3
ปรากฏว่าmongod.lockข้อผิดพลาดนี้ได้รับการแก้ไขในของฉันWindows 8 x64
Jonathan Czitkovics

50

ต่างจากคำตอบอื่น ๆ ที่จะ ..

เริ่มบริการโดยอัตโนมัติบนระบบรีบูต / รีสตาร์ท

ติดตั้ง MongoDB

ของ windows

(1) ติดตั้ง MongoDB

(2) เพิ่ม bin ลงในพา ธ

(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) เพื่อสร้างบริการที่จะเริ่มโดยอัตโนมัติเมื่อรีบูท .. RUN AS 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) เริ่มให้บริการ .. วิ่งตาม ADMIN ..

net start MongoDB

สำคัญ: แม้ว่าสิ่งนี้จะระบุว่า 'บริการ MongoDB เริ่มต้นได้สำเร็จ' แต่ก็อาจล้มเหลวได้

ในการตรวจสอบสองครั้งที่เปิดแผงควบคุม> บริการตรวจสอบให้แน่ใจว่าสถานะของบริการ MongoDB คือ 'กำลังทำงาน'

หากไม่มีให้ตรวจสอบไฟล์บันทึกของคุณที่ C: \ data \ log \ mongod.log เพื่อหาสาเหตุของความล้มเหลวและแก้ไข

(อย่าเริ่ม MongoDB ผ่านแผงควบคุม> บริการใช้ .. เริ่ม net MongoDB)

(8) ในที่สุดรีสตาร์ทเครื่องของคุณด้วยการเรียกใช้ MongoDB และมันจะยังคงทำงานเมื่อรีสตาร์ท

หากคุณต้องการฆ่ามัน ..

net stop MongoDB

sc.exe delete MongoDB

ขอบคุณมันใช้งานได้สำหรับฉันฉันแค่ต้องเปลี่ยน3.4เป็น3.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"
guru_007

28

ขั้นตอนด้านล่างนี้ใช้กับ 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 -> คลิกขวา -> เริ่ม


1
ที่สมบูรณ์แบบ! หมายเหตุเล็กน้อยโฟลเดอร์ต้องมีอยู่ (อย่างน้อยหนึ่งโฟลเดอร์สำหรับบันทึก)
Diego Jancic

คำถามเล็กน้อยเกี่ยวกับ sidenote: ไฟล์นั้นไม่จำเป็นต้องมีอยู่ด้วยหรือไม่? ฉันจำได้ชัดเจนว่าไม่มีไฟล์ (ว่าง) ตัวเองทำให้ฉันมีปัญหา
Fariz Fakkel

1
โซลูชั่นที่สมบูรณ์แบบ
sapatelbaps

21

คุณสามารถใช้คำสั่งด้านล่างสำหรับการเรียกใช้ 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 หรือ localhost
  • yourPortNumber: 27017 (พอร์ตเริ่มต้น) หรือไม่ใส่ - พอร์ต
  • serviceDisplayName: เฉพาะเมื่อคุณเรียกใช้บริการมากกว่าหนึ่งบริการ (ตั้งแต่ mongodb 1.8)

มีข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งนี้ที่นี่

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



14

สคริปต์ 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

10

นี่เป็นสิ่งเดียวที่ทำงานให้ฉัน เนื่องจากทุกสิ่งต้องเป็นเส้นทางที่สมบูรณ์:

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

ฉันยังต้องเรียกใช้จาก admin cmd


7

วิธีที่แนะนำทำให้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คุณต้องเพิ่ม logpath:

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

ต้องมีพา ธ ไปยังล็อกไฟล์และต้องเป็นพา ธ Windows แบบสมบูรณ์ จากนั้นคุณเริ่มบริการ MongoDB โดยพิมพ์:

net start MongoDB

5

พิจารณาใช้

mongod --install --rest --master

พิจารณาที่จะอัปเดตคำตอบของคุณด้วยคำตอบของรูบี้ (ของคุณไม่สมบูรณ์)
danielpopa

5

ทำงานกับ Mongo DB: 3.6

(1) ติดตั้ง MongoDB

(2) เพิ่ม bin ไปยังตัวแปรพา ธ ของสภาพแวดล้อม

(3) สร้าง c:\data\db

(4) สร้าง c:\data\mongod.log

(5) เรียกใช้คำสั่งด้านล่างในbinโฟลเดอร์

. \ mongod.exe - ติดตั้ง --logpath c: \ data \ mongod.log --logappend --bind_ip 12 7.0.0.1 - dbpath c: \ data \ db

(6) เพื่อเริ่ม mongo db เป็นบริการ

เริ่มต้นสุทธิ MongoDB

(7) ในที่สุดรันmongoใน command line เพื่อตรวจสอบ mongo shell ที่เปิดอยู่หรือไม่



4

นี่คือสิ่งที่ได้ผลสำหรับฉัน:

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"

1
เรียกใช้ cmd ในฐานะผู้ดูแลระบบและเรียกใช้คำสั่งนี้: sc.exe สร้าง MongoDB binPath = "d: \ MongoDB \ bin \ mongod.exe - บริการ --config = d: \ MongoDB \ bin \ mongod.config" displayname = "MongoDB 2.6 มาตรฐาน "start =" auto "
Akash5288

4

วิธีที่ง่ายที่สุดคือ

  1. สร้างโฟลเดอร์ C:\data\db
  2. สร้างไฟล์ C:\data\db\log.txt
  3. เปิดพร้อมท์คำสั่งเป็น "Run as Administrator" และตรวจสอบให้แน่ใจว่าเส้นทางไดเรกทอรี mogodb bin นั้นถูกต้องและเขียน

    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

'C: \ Program' ไม่รู้จักว่าเป็นคำสั่งภายในหรือภายนอก, โปรแกรมที่ทำงานได้หรือไฟล์แบตช์
151291

4

ทำงานกับ MongoDB 3.4 [Windows]

  • สร้าง dir 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" - ติดตั้ง - บริการ

  • เปิด Services.msc แล้วมองหา MongoDb จากนั้นเริ่ม


3

สำหรับเวอร์ชัน 2.4.3 (เวอร์ชันปัจจุบัน ณ วันที่โพสต์) ให้สร้างไฟล์ปรับแต่งแล้วดำเนินการดังต่อไปนี้:

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


3

ปัจจุบัน (มากถึงรุ่น 2.4.4) หากเส้นทางใด ๆ (dbpath / logpath / config) มีช่องว่างบริการจะไม่เริ่มทำงานและแสดงข้อผิดพลาด: "บริการไม่ตอบสนองต่อฟังก์ชันควบคุม"


2

ฉันใช้เวอร์ชั่น 2.4.9 และใช้ไฟล์ปรับแต่ง บริการจะไม่เริ่มจนกว่าฉันจะล้อมรอบเครื่องหมายเท่ากับในไฟล์ปรับแต่งด้วยช่องว่าง:

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

เดิมทีฉันมี:

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

ฉันยังค้นพบว่าเมื่อติดตั้งบริการที่คุณต้องใช้เส้นทางที่แน่นอนสำหรับไฟล์ config เช่น:

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

อย่าถูกล่อลวงให้ใส่เครื่องหมายจุลภาคคว่ำลงในdbpath ที่มีช่องว่าง บริการจะปรากฏขึ้นเมื่อคุณดำเนินการเริ่มต้นสุทธิ MongoDBแต่จะสิ้นสุดลง ตรวจสอบล็อกไฟล์เพื่อยืนยันว่าบริการได้เริ่มขึ้นแล้ว


2

เรียกใช้ "cmd.exe" ในฐานะผู้ดูแลระบบแล้วเรียกใช้ "sc.exe" เพื่อเพิ่มบริการ Windows ใหม่

ตัวอย่างเช่น:

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

2

ฉันพบว่าคุณควรผ่าน: 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 

2

นี่คือขั้นตอนในการติดตั้ง MongoDB เป็นบริการ Windows:

  1. สร้างไดเรกทอรีบันทึกเช่น C:\MongoDB\log

  2. สร้างไดเรกทอรี db เช่น C:\MongoDB\db

  3. เตรียมไฟล์คอนฟิกูเรชันด้วยบรรทัดต่อไปนี้

    dbpath=C:\MongoDB\db

    logpath=C:\MongoDB\log

    วางไฟล์การกำหนดค่าด้วยชื่อ mongod.cfg ในโฟลเดอร์ "C: \ MongoDB \"

  4. คำสั่งต่อไปนี้จะติดตั้ง Windows Service บนของคุณ 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


1

หากคุณติดตั้ง MongoDB 2.6.1 หรือใหม่กว่าโดยใช้การดาวน์โหลด MSIจากพรอมต์คำสั่งของผู้ดูแลระบบจะสร้างคำนิยามบริการโดยอัตโนมัติ

เอกสารประกอบ MongoDB ยังมีบทช่วยสอนเพื่อช่วยให้คุณสร้างคำจำกัดความของบริการ Windows ด้วยตนเองหากจำเป็น


1

คำตอบนี้สำหรับผู้ที่ติดตั้ง mongo DB โดยใช้โปรแกรมติดตั้ง MSI แล้ว

สมมติว่าตำแหน่งที่ติดตั้งเริ่มต้นของคุณคือ "C: \ Program Files \ MongoDB \ Server \ 3.2 \ bin"

ขั้นตอนในการเรียกใช้ mongo เป็นบริการหน้าต่าง

  1. เปิด command prompt ในฐานะผู้ดูแลระบบ
  2. พิมพ์cd C:\Program Files\MongoDB\Server\3.2\bin(ตรวจสอบเส้นทางอย่างถูกต้องเนื่องจากคุณอาจติดตั้งรุ่นอื่นไม่ใช่ 3.2)
  3. กดปุ่มตกลง
  4. ชนิด net start MongoDB
  5. กดปุ่มตกลง
  6. กด Windows + R พิมพ์services.mscและตรวจสอบว่า Mongo ทำงานเป็นบริการหรือไม่

มีเส้นทางที่ถูกต้อง แต่ได้รับข้อผิดพลาด: System error 2 has occurred. The system cannot find the file specified.ลอง mongod, mongodb เช่นกัน
151291


0
  1. ตรวจสอบ windows services

    หากคุณมีบริการ mongo ให้ลบออกโดยรันคำสั่ง bellow
    mongod --remove

  2. สร้างไฟล์ mongo.cfg พร้อมเนื้อหาร้อง

    systemLog:
    ปลายทาง:
    เส้นทางไฟล์: c: \ data \ log \ mongod.log ที่
    จัดเก็บ:
    dbPath: c: \ data \ db

    path: ตำแหน่งที่คุณต้องการจัดเก็บบันทึกข้อมูล
    dbPath: ไดเรกทอรีฐานข้อมูลของคุณ

  3. จากนั้นเรียกใช้คำสั่งร้อง

    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
    : ที่อยู่ไฟล์. cfg
    DisplayName: ชื่อบริการของคุณ

  4. เริ่มบริการ

    net start MongoDB

ตอนนี้ทุกสิ่งเสร็จสิ้น สนุกไปกับมัน


0

ในกรณีของฉันฉันสร้าง mongod.cfg ข้าง mongd.exe โดยมีเนื้อหาดังต่อไปนี้

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: D:\apps\MongoDB\Server\4.0\data
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path:  D:\apps\MongoDB\Server\4.0\log\mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0


#processManagement:

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

จากนั้นฉันเรียกใช้ทั้งสองคำสั่งเพื่อสร้างบริการ

D:\apps\MongoDB\Server\4.0\bin>mongod --config D:\apps\MongoDB\Server\4.0\bin\mongod.cfg --install

D:\apps\MongoDB\Server\4.0\bin>net stop mongodb
The MongoDB service is stopping.
The MongoDB service was stopped successfully.


D:\apps\MongoDB\Server\4.0\bin>mongod --remove
2019-04-10T09:39:29.305+0800 I CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2019-04-10T09:39:29.309+0800 I CONTROL  [main] Trying to remove Windows service 'MongoDB'
2019-04-10T09:39:29.310+0800 I CONTROL  [main] Service 'MongoDB' removed

D:\apps\MongoDB\Server\4.0\bin>
D:\apps\MongoDB\Server\4.0\bin>sc.exe create MongoDB binPath= "\"D:\apps\MongoDB\Server\4.0\bin\mongod.exe\" --service --config=\"D:\apps\MongoDB\Server\4.0\bin\mongod.cfg\""
[SC] CreateService SUCCESS

D:\apps\MongoDB\Server\4.0\bin>net start mongodb
The MongoDB service is starting..
The MongoDB service was started successfully.

D:\apps\MongoDB\Server\4.0\bin>

ต่อไปนี้ไม่ถูกต้องโปรดทราบว่าต้องใช้เครื่องหมายอัญประกาศ

D:\apps\MongoDB\Server\4.0\bin>sc.exe create MongoDB binPath= "D:\apps\MongoDB\Server\4.0\bin\mongod --config D:\apps\MongoDB\Server\4.0\bin\mongod.cfg"
[SC] CreateService SUCCESS

D:\apps\MongoDB\Server\4.0\bin>net start mongodb
The service is not responding to the control function.

More help is available by typing NET HELPMSG 2186.


D:\apps\MongoDB\Server\4.0\bin>

-1

โปรดลองขั้นตอนใน 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

MongoDB 4.0 ทำงานได้ดีบน Windows 64 บิต ... เว้นแต่คุณจะพยายามรักษาความปลอดภัยโดยเพิ่มบรรทัด "การอนุญาต: เปิดใช้งาน" ลงในการตั้งค่า "ความปลอดภัย" ใน mongod.cfg จากนั้นจะส่งผลให้ windows รายงานข้อผิดพลาด "บริการไม่เริ่มทันเวลา" ความคิดใด ๆ ที่เกิดขึ้นที่นี่
David Edwards
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.