Mac'teki mongodb veritabanının konumu


91

Mac ve mongodb için biraz yeniyim.

Mac'te mongodb kullanılarak oluşturulan veritabanına erişme konusunda garip bir şüphem var mı?

Biliyorum, Windows'ta veritabanı dosyalarımın depolandığı c: \ data \ db adlı bir klasör var.

Mac'te veritabanı nasıl ve nerede saklanır.

Gibi bir şey yaptığımı hatırlıyorum

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

Mac'te böyle bir klasör oluşturmak için, ancak bu klasörde bir veritabanı oluşturmama rağmen herhangi bir veritabanı dosyası bulamadım.

Mac'te veritabanı dosyaları nereye kaydedilir?

Herhangi bir yardım gerçekten takdir edilecektir.

Yanıtlar:


93

MongoDB için varsayılan veri dizini /data/db.

Bu , komut satırında veya bir yapılandırma dosyasında belirtilen bir dbpathseçenekle geçersiz kılınabilir .

MongoDB'yi Homebrew veya MacPorts gibi bir paket yöneticisi aracılığıyla kurarsanız, bu kurulumlar genellikle / data / db dışında bir varsayılan veri dizini oluşturur ve db yolunu bir yapılandırma dosyasında ayarlar.

mongodBaşlangıçta bir dbpath sağlandıysa , mongokabuktaki değeri kontrol edebilirsiniz :

db.serverCmdLineOpts()

Şunun gibi bir değer görürsünüz:

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

1
Ayrıca mongodsunucunuzun rootkullanıcı olarak çalışması gerekmediğini de belirtmekte fayda var . Veri dizini izinlerinizin, mongodsunucunun kullandığı kullanıcı hesabı için okuma / yazma erişimini içerdiğinden emin olmanız gerekir .
Stennie

1
GetCommandLineOpts () girdiğimde, `ReferenceError: getCommandLineOpts tanımlı değil (shell): 1´ gibi bir şey alıyorum. Herhangi bir yardım??
Spaniard89

4
MongoDB'nin hangi sürümünü kullanıyorsunuz? Bunu ile kontrol edebilmelisin db.serverStatus().version. getCommandLineOpts()MongoDB 2.0'da kabuk yardımcısının eklendiğine inanıyorum . Şunu da deneyebilirsiniz: db.getSiblingDB("admin").runCommand({getCmdLineOpts:1}).
Stennie

2.2.2 sürümünü kullanıyorum, denediğimde db.getSiblingDB("admin").runCommand({getCmdLineOpts:1})şöyle bir şey aldım { "argv" : [ "./bin/mongod" ], "parsed" : { }, "ok" : 1 }Bu, veritabanı dizinimin ayarlanmadığı anlamına mı geliyor?
Spaniard89

Arkadaş buldum, kökte veri adında bir klasör ve bir alt klasör db oluşturdum. Şimdi yolu gösteriyor. Yardımın için çok teşekkürler.
Spaniard89


135

Teşekkürler @Mark, bunu tekrar tekrar unutuyorum. MongoDB'yi Homebrew ile kurduktan sonra:

  • Veritabanları / usr / local / var / mongodb / dizininde saklanır
  • Mongod.conf dosyası burada: /usr/local/etc/mongod.conf
  • Mongo günlükleri / usr / local / var / log / mongodb / adresinde bulunabilir.
  • Mongo ikili dosyaları burada: / usr / local / Cellar / mongodb / [sürüm] / bin

Bu, kafadaki çiviye çarptı. Teşekkürler
Mark Pieszak - Trilon.io

2
/ Usr / local / var / mongodb / ' u kontrol ettiğimde dizin boş. Ve hayır, mongoldb'nin varsayılan veri yolunu değiştirmedim. Veritabanı dosyasını bulmama yardım edebilir misin?
Nishi Bangar

Bunun için sembolik bir bağlantı ekleyin: sudo ln -s / usr / local / var / mongodb / data / db
TheJeff

Ben bir klasör var görünmemektedir etciçinde /usr/local/. Yapılandırma dosyaları nerede bulunur veya lol'i nasıl öğrenebilirim?
Reinier68

25

3.4.2 sürümüyle aynı sorunu yaşadım

çalıştırmak için (homebrew ile kurduysanız) işlemi şu şekilde çalıştırın:

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

Bu çözüm, Homebrew aracılığıyla v4.2.5'e yükselttikten sonra sorunumu çözdü.
Matthias Hagemann

10

Homebrew ile mongodb 3.4'ü yeni kurdum . (Brew install mongodb) Varsayılan olarak / data / db'yi arar .

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

İşte mongod uygulamasının çıktısı.


9
Bu, mongoddoğrudan terminalden başlarsanız gerçekleşir . Eğer kullanırsanız brew services start mongodb, süreç de yapılandırma dosyası kullanır /usr/local/etc/mongod.confsırayla, bir belirtir dbPathait/usr/local/var/mongodb
Molomby

Katkı için teşekkürler @Molomby. O şekilde başlamadım, o şekilde bile bilmiyordum. :)
csonuryilmaz

1

Env : macOS Mojave 10.14.4

Yükle : homebrew

Konum :/usr/local/Cellar/mongodb/4.0.3_1

Not : Sürümü tarihine kadar güncellerseniz brew upgrade mongo, klasör 4.0.4_1kaldırılır ve yeni sürüm klasörüyle değiştirilir

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.