ตำแหน่งของฐานข้อมูล mongodb บน mac


92

ฉันยังใหม่กับ mac และ mongodb

ฉันมีข้อสงสัยแปลก ๆ ในการเข้าถึงฐานข้อมูลที่สร้างโดยใช้ mongodb บน Mac?

ฉันรู้ว่าใน windows มีโฟลเดอร์ชื่อ c: \ data \ db ซึ่งเป็นที่เก็บไฟล์ฐานข้อมูลของฉัน

ฐานข้อมูลจะถูกจัดเก็บอย่างไรและที่ไหนใน Mac

ฉันจำได้ว่าทำอะไรบางอย่างเช่น

sudo mkdir -p /data/db
sudo chown `id -u` /data/db

เพื่อสร้างโฟลเดอร์ดังกล่าวบน mac แต่ฉันไม่พบไฟล์ฐานข้อมูลใด ๆ ในโฟลเดอร์นี้แม้ว่าฉันจะสร้างฐานข้อมูลแล้วก็ตาม

ไฟล์ฐานข้อมูลบันทึกบน Mac อยู่ที่ไหน

ความช่วยเหลือใด ๆ จะได้รับการชื่นชมจริงๆ

คำตอบ:


93

ไดเรกทอรีข้อมูลเริ่มต้นสำหรับ MongoDB /data/dbเป็น

สิ่งนี้สามารถถูกแทนที่โดยdbpathอ็อพชันที่ระบุบนบรรทัดรับคำสั่งหรือในไฟล์คอนฟิกูเรชัน

หากคุณติดตั้ง MongoDB ผ่านตัวจัดการแพ็คเกจเช่น Homebrew หรือ MacPorts การติดตั้งเหล่านี้มักจะสร้างไดเร็กทอรีข้อมูลเริ่มต้นนอกเหนือจาก / data / db และตั้งค่า dbpath ในไฟล์คอนฟิกูเรชัน

หากมีการจัดเตรียม dbpath ไว้mongodเมื่อเริ่มต้นคุณสามารถตรวจสอบค่าในmongoเชลล์:

db.serverCmdLineOpts()

คุณจะเห็นค่าเช่น:

"parsed" : {
    "dbpath" : "/usr/local/data"
},

1
นอกจากนี้ยังเป็นที่น่าสังเกตว่าmongodเซิร์ฟเวอร์ของคุณไม่จำเป็นต้องทำงานเป็นrootผู้ใช้ คุณจำเป็นต้องตรวจสอบให้แน่ใจว่าสิทธิ์ในไดเร็กทอรีข้อมูลของคุณมีสิทธิ์อ่าน / เขียนสำหรับบัญชีผู้ใช้ที่mongodเซิร์ฟเวอร์ใช้อยู่
Stennie

1
เมื่อฉันป้อน getCommandLineOpts () ฉันจะได้รับบางสิ่งเช่น ReferenceError: getCommandLineOpts ไม่ได้กำหนด (เชลล์): 1´ ช่วยได้ไหม ??
Spaniard89

4
คุณใช้ MongoDB เวอร์ชันใดอยู่ db.serverStatus().versionคุณควรจะสามารถที่จะตรวจสอบว่ามีการ ฉันเชื่อว่าตัวช่วยเชลล์สำหรับgetCommandLineOpts()ถูกเพิ่มใน MongoDB 2.0 db.getSiblingDB("admin").runCommand({getCmdLineOpts:1})นอกจากนี้คุณยังสามารถลอง:
Stennie

ฉันใช้เวอร์ชัน 2.2.2 เมื่อฉันพยายามdb.getSiblingDB("admin").runCommand({getCmdLineOpts:1})ฉันมีบางอย่างเช่น{ "argv" : [ "./bin/mongod" ], "parsed" : { }, "ok" : 1 }หมายความว่าไดเรกทอรีฐานข้อมูลของฉันไม่ได้ตั้งค่า ??
Spaniard89

ฉันเข้าใจแล้วฉันสร้างโฟลเดอร์ชื่อ data ในรูทและ db โฟลเดอร์ย่อย ตอนนี้มันกำลังแสดงเส้นทาง ขอบคุณมากสำหรับความช่วยเหลือ.
Spaniard89

195

หาก mongodb ติดตั้งผ่าน Homebrew ตำแหน่งเริ่มต้นคือ:

/ usr / local / var / mongodb

ดูคำตอบจาก @simonbogarde สำหรับตำแหน่งของไฟล์ที่น่าสนใจอื่น ๆ ที่แตกต่างกันเมื่อใช้ Homebrew


ฉันกำลังมองหาแสงสว่างในความมืดโดยตรวจสอบสูตรที่github.com/Homebrew/homebrew/blob/master/Library/Formula/…ขอบคุณ
alexserver

136

ขอบคุณ @ มาร์คฉันลืมเรื่องนี้ซ้ำแล้วซ้ำเล่า หลังจากติดตั้ง MongoDB ด้วย Homebrew:

  • ฐานข้อมูลถูกเก็บไว้ในไดเร็กทอรี/ usr / local / var / mongodb /
  • ไฟล์ mongod.conf อยู่ที่นี่: /usr/local/etc/mongod.conf
  • สามารถดูบันทึก mongo ได้ที่/ usr / local / var / log / mongodb /
  • mongo ไบนารีอยู่ที่นี่: / usr / local / Cellar / mongodb / [version] / bin

นี่โดนตะปูบนหัว ขอบคุณ
Mark Pieszak - Trilon.io

2
เมื่อฉันตรวจสอบ/ usr / local / var / mongodb /ไดเร็กทอรีว่างเปล่า และไม่ฉันยังไม่ได้เปลี่ยน dbpath เริ่มต้นของ mongoldb คุณช่วยฉันในการค้นหาไฟล์ฐานข้อมูลได้หรือไม่?
Nishi Bangar

เพิ่มลิงก์สัญลักษณ์สำหรับมัน: sudo ln -s / usr / local / var / mongodb / data / db
TheJeff

ฉันไม่ได้ดูเหมือนจะมีโฟลเดอร์ในetc /usr/local/ไฟล์ config อยู่ที่ไหนหรือหาได้อย่างไร lol
Reinier68

27

ฉันมีปัญหาเดียวกันกับเวอร์ชัน 3.4.2

เพื่อเรียกใช้งาน (หากคุณติดตั้งด้วย homebrew) ให้รันกระบวนการดังนี้:

$ mongod --dbpath /usr/local/var/mongodb

วิธีนี้แก้ปัญหาของฉันหลังจากอัปเกรดเป็น v4.2.5 ผ่าน Homebrew
Matthias Hagemann

10

ฉันเพิ่งติดตั้งmongodb 3.4ด้วยhomebrew (brew install mongodb) มันค้นหา/ data / dbตามค่าเริ่มต้น

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/

นี่คือผลลัพธ์ของการดำเนินการ mongod


9
นี่คือถ้าคุณเริ่มต้นmongodโดยตรงจากเครื่องปลายทาง หากคุณใช้brew services start mongodbกระบวนการจะใช้ไฟล์ config /usr/local/etc/mongod.confซึ่งในทางกลับกันระบุ a dbPathของ/usr/local/var/mongodb
Molomby

ขอบคุณ @Molomby สำหรับการมีส่วนร่วม ฉันไม่ได้เริ่มต้นด้วยวิธีนั้นฉันไม่รู้ด้วยซ้ำ :)
csonuryilmaz

1

Env : macOS Mojave 10.14.4

ติดตั้ง : homebrew

สถานที่ :/usr/local/Cellar/mongodb/4.0.3_1

หมายเหตุ : หากอัปเดตเวอร์ชันโดย brew upgrade mongoโฟลเดอร์4.0.4_1จะถูกลบออกและแทนที่ด้วยโฟลเดอร์เวอร์ชันใหม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.