J'essaie d'installer MongoDB sous Windows et les documents en ligne semblent loin d'être précis.
Sous la partie "Configurer un service Windows", étape 1 mentionne la création d'un fichier de configuration. Ensuite, il est mentionné de remplir le fichier avec une ligne au format logpath="X:\path\mongo.log"
. Cependant, après le lien, le fichier de configuration est au format YAML, ce qui rend la ligne précédente illisible en YAML.
J'ai créé un fichier de base mongodb.cfg
(.cfg
ou .conf
??):
systemLog:
destination: file
path: "P:\\Servers\\MongoDB\\logs\\mongodb.log"
quiet: true
logAppend: true
storage:
dbPath: "P:\\Servers\\MongoDB\\data"
journal:
enabled: true
net:
bindIp: 127.0.0.1
port: 27017
Cependant, lorsque je lance mongod --config P:\Servers\MongoDB\mongodb.cfg
, le service ne donne simplement aucune sortie et se bloque.
Si je supprime la ligne dbPath
, elle se fermera elle-même sans aucun message.
J'ai aussi essayé de laisser le fichier mongodb.cfg
comme ceci:
logpath="P:\Servers\MongoDB\logs\mongodb.log"
dbpath="P:\Servers\MongoDB\data"
Mais l'exécution avorte en se plaignant de l'un des 2 chemins, même s'ils existent. Essayé avec des barres obliques inverses simples et avec des barres obliques inverses échappées (\\
) sans succès.
La seule façon dont le service fonctionne et écoute les connexions est de transmettre manuellement --dbpath
uniquement et ignorer tous les fichiers de configuration et logpath . Évidemment, ce n'est pas grave, car je dois garder une trace des journaux et peut-être aussi avoir besoin de changer les paramètres de configuration à un moment ultérieur.
C'est dingue ... Me manque-t-il quelque chose de très basique ou cette docs est un vrai gâchis?
Voici mon fichier de test simple MongoDB Config pour Windows. Notez que je devais avoir 2 espaces avant chaque propriété, par exemple, chemin. Quand j'ai eu 3 espaces, j'ai eu une erreur au démarrage.
Je démarre le serveur avec: mongod --config c:\tools\mongodb\db\mongod.cfg
systemLog:
destination: file
path: "C:\\tools\\mongodb\\db\\log\\mongo.log"
logAppend: true
storage:
dbPath: "C:\\tools\\mongodb\\db\\data"
security:
authorization: enabled
Voici un exemple de fichier mongodb.config pour Windows.
##store data here
dbpath=C:\mongodb\data\db
##all output go here
logpath=C:\mongodb\data\log\mongo.log
##log read and write operations
diaglog=3
Un peu tard, mais j'avais exactement le même problème aujourd'hui. Si vous utilisez des barres obliques pour vos chemins dans le fichier de configuration, cela fonctionne correctement.
systemLog:
destination: file
logAppend: true
path: "e:/mongo_data/3.6/mongo.log"
storage:
dbPath: "e:/mongo_data/3.6/db"
engine: "wiredTiger"
vérifiez si vous avez un fichier dans le chemin data\db. S'il vous plaît supprimer tous ces fichiers et essayez de redémarrer. J'ai utilisé exactement votre fichier de configuration et capable de démarrer le service avec succès avec bindip et le port
Vous pouvez trouver des journaux avec les raisons pour lesquelles cela ne fonctionne pas dans le fichier journal. Dans votre cas, lisez le fichier P:\Servers\MongoDB\logs\mongodb.log.