MongoDB'de yeni mongo komutu çalıştırılamıyor


94

MongoDB'yi çalıştırmaya çalışıyordum:

   E:\mongo\bin>mongod
    mongod --help for help and startup options
    Sun Nov 06 18:48:37
    Sun Nov 06 18:48:37 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
    Sun Nov 06 18:48:37
    Sun Nov 06 18:48:37 [initandlisten] MongoDB starting : pid=7108 port=27017 dbpath=/data/db 32-bit host=pykhmer-PC
    Sun Nov 06 18:48:37 [initandlisten]
    Sun Nov 06 18:48:37 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
    Sun Nov 06 18:48:37 [initandlisten] **       see http://blog.mongodb.org/post/137788967/32-bit-limitations
    Sun Nov 06 18:48:37 [initandlisten] **       with --journal, the limit is lower
    Sun Nov 06 18:48:37 [initandlisten]
    Sun Nov 06 18:48:37 [initandlisten] db version v2.0.1, pdfile version 4.5
    Sun Nov 06 18:48:37 [initandlisten] git version: 3a5cf0e2134a830d38d2d1aae7e88cac31bdd684
    Sun Nov 06 18:48:37 [initandlisten] build info: windows (5, 1, 2600, 2, 'Service Pack 3') BOOST_LIB_VERSION=1_42
    Sun Nov 06 18:48:37 [initandlisten] options: {}
    Sun Nov 06 18:48:37 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db) does not exist, terminating
    Sun Nov 06 18:48:37 dbexit:
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to close listening sockets...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to flush diaglog...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to close sockets...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: waiting for fs preallocator...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: closing all files...
    Sun Nov 06 18:48:37 [initandlisten] closeAllFiles() finished
    Sun Nov 06 18:48:37 dbexit: really exiting now

E:\mongo\bin>mongo
MongoDB shell version: 2.0.1
connecting to: test
Sun Nov 06 18:48:42 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
exception: connect failed

E:\mongo>ls
GNU-AGPL-3.0  README  THIRD-PARTY-NOTICES  bin  data

Http://www.mongodb.org/display/DOCS/Quickstart+Windows'a bakıyordum ve talimatları uyguluyordum. Biri bana MongoDB'yi çalıştırmayla ilgili sorunun ne olduğunu söyleyebilir mi (Windows 7 kullanıyorum)?


Olumsuz oy verildi, çünkü kayıtların okunması yeni olan birinden bile çok fazla istenemez. Kapatma başlamadan hemen önceki satır, ne olduğunu açıkça belirtir.
Markus W Mahlberg

Yanıtlar:


76

Sanırım günlük çıktınız bunu açıkça gösteriyor;

exception in initAndListen: 10296 dbpath (/data/db) does not exist, terminating

Yapılandırma dosyanız içinde bir yapılandırma değeri olarak tanımlamak için bu dizini basitçe oluşturabilir veya daha iyisi olarak kullanabilirsiniz mongod -f C:\path\to\your\mongodb.conf.


6
telaşa gerek yok. yazılım geliştirmeye daha aşina olmanızı sağlayacak windowz şeyinden kurtulun ..
kirpit

14
Varsayılan olarak, MongoDB: c: \ data \ db klasörüne bakar, böylece sadece o dizin yapısını da oluşturabilirsiniz ve MongoDB veritabanı işlemi size bağırmaz.
Miguel Sevilla

1
Data \ db'yi pek çok yere yerleştirdim ve boşuna --dbpath seçeneğini kullandım. Miguel Sevilla'nın önerdiği gibi, işe yarayan tek şey c: \ data \ db klasörünü oluşturmaktı.
brybott

166

MongoDB'yi kurduktan sonra, manuel olarak bir veri klasörü oluşturmalısınız.

MongoDB varsayılan olarak verileri / data / db, 
ancak bu dizini otomatik olarak oluşturmaz. Oluşturmak için şunları yapın:

$ sudo mkdir -p / veri / db /
$ sudo chown `id -u` / veri / db

MongoDB'ye farklı bir veri dizini kullanmasını da söyleyebilirsiniz.
--dbpath seçeneği ile.

Daha ayrıntılı bilgi için MongoDB wiki sayfasına gidin.


3
Cevap bu olmalı - işe yaradı ve "Belgeleri okuyun" dan daha faydalı oldu.
Dan

Ayrıca, bunu bugün öğrendim, eğer mongo ile başlarsanız service mongodb start, /etc/mongod.confdosyayı otomatik olarak okur ve her başladığınızda --dbpath veya --config değişkenlerinizi belirtmeniz gerekmez! Bu kesinlikle 10gen yüklemesi için çalışıyor ancak denemediğim için diğerlerinden emin değilim.
sınırsız08

27

Veritabanı yolunu açıkça belirtin ve sorunun çözülüp çözülmediğine bakın.

mongod --dbpath data/db

Dizin mevcut değilse, mongo sürüm 4.2
Tono Nam

21
mongod --dbpath "c://data/db"

yukarıdaki kodu çalıştırın, bu sunucuyu başlatacaktır.


6

For Windows 7

Mongod.exe\data\db için dbpath ayarıyla alternatif bir yol belirtebilirsiniz ,

aşağıdaki örnekte olduğu gibi:

c:\mongodb\bin\mongod.exe --dbpath c:\mongodb\data\db

veya

Eğer yapabilirsiniz Yapılandırma Dosyası aracılığıyla DBPath ayarlayın .


4

Veritabanı veri dosyalarına giden yolun var olduğunu kontrol edin;):

Paz 06 Kasım 18:48:37 [initandlisten] initAndListen'de istisna : 10296 dbpath (/ data / db) yok , sona eriyor


2

Bu benim için çalıştı (eğer kilit dosyasını da görüyorsanız):

first>youridhere@ubuntu:/var/lib/mongodb$ sudo service mongodb start 
then >youridhere@ubuntu:/var/lib/mongodb$ sudo rm mongod.lock*

2

Birkaç denemeden sonra bu benim için Windows 7 env .:

Başlangıçta, tüm MongDB kaynaklarını kopyaladığınız dizinin böyle bir görünümü vardır:

bsondump.exe
mongo.exe
mongod.exe
mongod.pdb
mongodump.exe
mongoexport.exe
mongofiles.exe
mongoimport.exe
mongooplog.exe
mongoperf.exe
mongorestore.exe
mongos.exe
mongos.pdb
mongostat.exe
mongotop.exe

İhtiyacınız olan tek şey, iç içe geçmiş veri dizini ve db dizini eklemektir (data / db) Son görünüm şu şekilde görünmelidir:

data
bsondump.exe
mongo.exe
mongod.exe
mongod.pdb
mongodump.exe
mongoexport.exe
mongofiles.exe
mongoimport.exe
mongooplog.exe
mongoperf.exe
mongorestore.exe
mongos.exe
mongos.pdb
mongostat.exe
mongotop.exe

MongoDB kaynaklarının ve veri / db dizinlerinin bulunduğu dizini basitçe yazın, bu komutu:

C:\my_mongo_dir\bin>mongod --dbpath .\data\db

1

Ayrıca Mongo'yu bir Windows hizmeti olarak kurup kurmadığınızı ve çalışıp çalışmadığını kontrol edin. Bu da önemli. Bu nedenle liman çatışması olabilir.


1

Ana (Windows) bölümünüzde data / db dizinini oluşturun:

C:\> mkdir \data
C:\> mkdir \data\db

ve sonra mongo_directory / bin dosyanıza gidin ve mongod.exe dosyasını çalıştırın:

C:\> cd \my_mongo_dir\bin

C:\my_mongo_dir\bin> mongod

BU PENCEREYİ KAPATMAYIN

Şimdi farklı bir komut istemi penceresinde Mongo'yu çalıştırın:

C:\> cd \my_mongo_dir\bin
C:\my_mongo_dir\bin> mongo

(DİĞER PENCEREYİ AÇIK TUTMALISINIZ)

Bu benim için sorunu çözdü.


>> mongod --install --dbpath c: \ data \ db --logpath c: \ data \ log >> net start "Mongo DB" // not: net start yönetici izni gerektirebilir
damphat

1

çalışma dizininde klasör yapısı data / db oluşturun ve ardından "mongod --dbpath data / db" kullanarak mongodb'yi başlatmak gayet iyi çalışıyor


1

Bir oluşturmalıdır startup.batWindows kullanıyorsanız eğer, çok daha uygun:

C:\mongodb\mongodb-win32-x86_64-eiditon\bin\mongod.exe --dbpath C:\mongodb\data

Ve sadece dbclick startup.bat ve mongodb C:\mongodb\data, veri klasörü olarak çalışacaktır .


0

Sadece C: 'de dizin oluşturmanız gerekir. C: \ data \ db \ olarak

Şimdi mongoDB'yi başlatın:

C:\Users\gi.gupta>"c:\Program Files\MongoDB\Server\3.2\bin\mongod.exe"
2016-05-03T10:49:30.412+0530 I CONTROL  [main] Hotfix KB2731284 or later update is not installed, will zero-out data files
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] MongoDB starting : pid=7904 port=27017 dbpath=C:\data\db\ 64-bit host=GLTPM-W036
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] db version v3.2.6
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] git version: 05552b562c7a0b3143a729aaa0838e558dc49b25
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1p-fips 9 Jul 2015
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] allocator: tcmalloc
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] modules: none
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] build environment:
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     distmod: 2008plus-ssl
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     distarch: x86_64
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     target_arch: x86_64
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] options: {}
2016-05-03T10:49:30.427+0530 I -        [initandlisten] Detected data files in C:\data\db\ created by the 'wiredTiger' storage engine, so setting the active storage engine to
2016-05-03T10:49:30.429+0530 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=1G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(f
chive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2016-05-03T10:49:30.998+0530 I NETWORK  [HostnameCanonicalizationWorker] Starting hostname canonicalization worker
2016-05-03T10:49:30.998+0530 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory 'C:/data/db/diagnostic.data'
2016-05-03T10:49:31.000+0530 I NETWORK  [initandlisten] waiting for connections on port 27017
2016-05-03T10:49:40.766+0530 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:57504 #1 (1 connection now open)

Daha sonra arka planda hizmet olarak çalışacaktır.


0

Windows 7 / 7+ kullanıyorsanız.

İşte deneyebileceğiniz bir şey.

Bilgisayarınızın KONTROL PANELİ'nde kurulumun doğru olup olmadığını kontrol edin.

Şimdi dizine ve MongoDB'yi kurduğunuz yere gidin. İdeal olarak,

C: \ Program Dosyaları \ MongoDB \ Sunucu \ 3.6 \ bin

Sonra ya komut isteminde ya da IDE'nin terminalinde. Yukarıdaki yola gidin (İdeal olarak kaydettiğiniz dosyanız) ve yazın

mongod --dbpath

İyi çalışmalı!


0

Mongo README yardım dosyası tarafından verilen en basit yaklaşım

KOŞU

Komut satırı seçenekleri için şunu çağırın:

$ ./mongod --help

Tek bir sunucu veritabanı çalıştırmak için:

$ sudo mkdir -p /data/db
$ ./mongod
$
$ # The mongo javascript shell connects to localhost and test database by default:
$ ./mongo
> help

Windows ile çalışıyorsanız , mongo.exe dosyasının bulunduğu dizine gidin.

aşağıdaki komutları kullanın, (benimkini paylaşıyorum)

C:\Program Files\MongoDB\Server\3.6\bin>mkdir \data

C:\Program Files\MongoDB\Server\3.6\bin>mkdir \data\db

C:\Program Files\MongoDB\Server\3.6\bin>mongod ## this will start your mongoDB server

Şimdi başka bir CMD istemi çalıştırmanız ve mongo'nuzun olduğu dizine gitmeniz ve çalıştırmanız gerekiyor

C:\Program Files\MongoDB\Server\3.6\bin>mongo ## this will start your mongoDB client

Umarım yardımcı olmuştur :)

Çalışmazsa, CMD'yi yönetici olarak çalıştırın

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.