Nouveau sur MongoDB Impossible d'exécuter la commande mongo


93

J'essayais d'exécuter MongoDB:

   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

Je regardais http://www.mongodb.org/display/DOCS/Quickstart+Windows et suivais les instructions. Quelqu'un pourrait-il me dire quel est le problème avec l'exécution de MongoDB (j'utilise Windows 7)?


Voté contre, car la lecture des journaux ne peut pas être trop demandée, même à quelqu'un qui est nouveau. La ligne juste avant le début de l'arrêt indique clairement ce qui se passe.
Markus W Mahlberg le

Réponses:


76

Je pense que votre sortie de journal l'indique clairement;

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

Vous pouvez simplement créer ce répertoire ou mieux pour le définir comme valeur de configuration dans votre fichier de configuration, puis l'utiliser comme mongod -f C:\path\to\your\mongodb.conf.


6
pas de soucis. Débarrassez-vous simplement de cette chose windowz, qui vous rendra plus familier avec le développement logiciel ..
Kirpit

14
Par défaut, MongoDB regarde dans le dossier: c: \ data \ db, vous pouvez donc simplement créer cette structure de répertoires, et le processus de base de données MongoDB ne vous hurlera pas dessus.
Miguel Sevilla

1
J'ai placé data \ db dans de nombreux endroits et j'ai utilisé l'option --dbpath en vain. La seule chose qui a fonctionné a été de créer le dossier c: \ data \ db comme l'a suggéré Miguel Sevilla.
brybott

165

Après avoir installé MongoDB, vous devez créer manuellement un dossier de données.

Par défaut, MongoDB stockera les données dans / data / db, 
mais il ne créera pas automatiquement ce répertoire. Pour le créer, faites:

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

Vous pouvez également dire à MongoDB d'utiliser un répertoire de données différent,
avec l'option --dbpath.

Pour plus d'informations, rendez-vous sur la page wiki de MongoDB.


3
Cela devrait être la réponse - cela a fonctionné et était plus utile que "Lire la documentation".
Dan

Notez également que je viens de le découvrir aujourd'hui, si vous démarrez mongo avec, service mongodb startil lit automatiquement le /etc/mongod.conffichier et vous n'avez pas besoin de spécifier vos variables --dbpath ou --config à chaque fois que vous démarrez! Cela fonctionne certainement pour l'installation 10gen mais je ne suis pas sûr des autres car je ne les ai pas essayés.
bornless08

27

Spécifiez explicitement le chemin de la base de données comme ceci et voyez si cela résout le problème.

mongod --dbpath data/db

Si le répertoire n'existe pas, il échouera sous la version 4.2 de mongo
Tono Nam

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

exécutez le code ci-dessus, cela démarrera le serveur.


5

Pour Windows 7

Vous pouvez spécifier un autre chemin pour \data\dbavec le paramètre dbpath pour mongod.exe ,

comme dans l'exemple suivant:

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

ou

vous pouvez définir dbpath via le fichier de configuration .


4

Vérifiez que le chemin d'accès aux fichiers de données de la base de données existe;):

Dim 06 nov 18:48:37 [initandlisten] exception dans initAndListen: 10296 dbpath (/ data / db) n'existe pas , arrêt


2

Cela a fonctionné pour moi (si cela s'applique, vous voyez également le fichier de verrouillage):

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

2

Après plusieurs tentatives, cela fonctionne pour moi sur Windows 7 env .:

Initialement, le répertoire dans lequel vous avez copié toutes les sources MongDB a une telle vue:

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

Tout ce dont vous avez besoin est d'ajouter un répertoire de données et un répertoire de base de données imbriqués (data / db) La vue finale devrait ressembler à ceci:

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

Tapez simplement dans le répertoire où les sources MongoDB et les répertoires data / db existent cette commande:

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

1

Vérifiez également si vous avez installé Mongo en tant que service Windows et s'il est en cours d'exécution. C'est également important. Il pourrait y avoir un conflit de port à cause de cela.


1

Créez le répertoire data / db dans votre partition principale (windows):

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

puis allez dans votre mongo_directory / bin et exécutez mongod.exe:

C:\> cd \my_mongo_dir\bin

C:\my_mongo_dir\bin> mongod

NE FERMEZ PAS CETTE FENÊTRE

Maintenant, dans une fenêtre d'invite de commande différente, exécutez Mongo:

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

(N'OUBLIEZ PAS QUE VOUS DEVEZ GARDER CETTE AUTRE FENÊTRE OUVERTE)

Cela a résolu le problème pour moi.


>> mongod --install --dbpath c: \ data \ db --logpath c: \ data \ log >> net start "Mongo DB" // note: net start peut avoir besoin d'une autorisation d'administrateur
humidhat

1

créer une structure de dossier data / db dans le répertoire de travail puis démarrer mongodb en utilisant "mongod --dbpath data / db" fonctionne très bien


1

Vous devriez créer un startup.batsi vous utilisez Windows, beaucoup plus pratique:

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

Et juste dbclick startup.bat et mongodb fonctionneront en utilisant C:\mongodb\datacomme dossier de données.


0

Il vous suffit de créer un répertoire en C :. comme C: \ data \ db \

Maintenant, lancez simplement mongoDB:

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)

Il fonctionnera ensuite en tant que service en arrière-plan.


0

Si vous utilisez Windows 7/7+.

Voici quelque chose que vous pouvez essayer.

Vérifiez si l'installation est correcte dans le PANNEAU DE CONTRÔLE de votre ordinateur.

Maintenant, allez dans le répertoire et où vous avez installé MongoDB. Idéalement, ce serait dans

C: \ Program Files \ MongoDB \ Server \ 3.6 \ bin

Ensuite, soit dans l'invite de commande, soit dans le terminal de l'EDI. Accédez au chemin ci-dessus (idéalement votre fichier de sauvegarde) et tapez

mongod --dbpath

Cela devrait bien fonctionner!


0

L'approche la plus simple donnée par le fichier d'aide de mongo README

FONCTIONNEMENT

Pour les options de ligne de commande, appelez:

$ ./mongod --help

Pour exécuter une base de données de serveur unique:

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

Si vous travaillez avec Windows, accédez à votre répertoire où vous avez mongo.exe

utilisez les commandes suivantes, (je partage la mienne)

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

Maintenant, vous devez exécuter une autre invite CMD et aller dans le répertoire où vous avez mongo et l'exécuter

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

J'espère que cela a aidé :)

Si cela ne fonctionne pas, exécutez CMD en tant qu'administrateur

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.