J'ai suivi les documents MongoDb pour configurer mon premier MongoDb,
Quand je lance MongoDB en utilisant la commande
C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe
Réponses:
MongoDB a besoin d'un dossier pour stocker la base de données. Créez un C:\data\db\
répertoire:
mkdir C:\data\db
puis démarrez MongoDB:
C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe
Parfois, le C:\data\db
dossier existe déjà en raison d'une installation précédente. Donc, si pour cette raison mongod.exe
ne fonctionne pas, vous pouvez supprimer tout le contenu du C:\data\db
dossier et exécuter à mongod.exe
nouveau.
/mongodb_data/db
Pour que les utilisateurs de macOS résolvent ce problème:
Vous devez suivre les étapes suivantes:
Créez le répertoire «db». C'est là que les fichiers de données Mongo vivront. Vous pouvez créer le répertoire à l'emplacement par défaut en exécutant:
sudo mkdir -p /data/db
Assurez-vous que le /data/db
répertoire dispose des bonnes autorisations en exécutant:
sudo chown -R `id -un` /data/db
Vous êtes maintenant prêt et vous pouvez exécuter sudo mongod
pour démarrer le serveur Mongo.
Ça ne marche pas si tu cours seulement mongod
Source .
mkdir: /data/db: Read-only file system
lors de l'exécution de la première commande. Comment pourrais-je résoudre ce problème? Merci.
Même problème sur mon Mac (en utilisant Brew) résolu en utilisant:
sudo mongod
Pour modifier le dossier de base de données par défaut C:\data\db
dans Windows, la commande est:
--dbpath
Par exemple:
\mongod --dbpath C:\myfolder
Utilisateurs Mac
Au lieu d'exécuter MongoDB avec:
sudo mongod
Vous pouvez utiliser à la mongod
place si vous:
sudo chmod -R ugo+rw data
Si vous devez utiliser sudo
lors de l'exécution de mongodb ( sudo mongod
), cela signifie que vous n'avez pas l'autorisation de lecture et d'écriture sur le dossier de données mongodb
Veuillez suivre les étapes suivantes:
Comme d'autres amis l'ont mentionné, vous devez d'abord créer un répertoire pour stocker les données de votre base de données. Ce dossier pourrait être quelque chose comme:
C: \ mongo-data
À partir de la ligne de commande, accédez à l'emplacement où vous avez installé mongodb et à l'emplacement de mongod.exe. Dans mon cas, le chemin complet est:
C: \ Program Files \ MongoDB \ Server \ 3.4 \ bin
À partir de là, exécutez mongod.exe et transmettez-lui le chemin d'accès au dossier que vous avez créé à la première étape à l'aide de l'indicateur --dbpath comme suit:
mongod.exe --dbpath "C: \ mongo-data"
Notez s'il vous plaît : si vous êtes sous Windows, il est nécessaire d'utiliser des guillemets doubles ("") ci-dessus pour fonctionner correctement.
De cette façon, vous obtiendrez quelque chose comme ce qui suit:
2017-06-14T12:45:59.892+0430 I NETWORK [thread1] waiting for connections on port 27017
Si vous utilisez des guillemets simples ('') sur Windows, vous obtiendrez:
2017-06-14T01:13:45.965-0700 I CONTROL [initandlisten] shutting down with code:100
J'espère que cela aidera à résoudre le problème.
Pour exécuter Mongo DB demon avec la mongod
commande, vous devez avoir un répertoire de base de données, vous devez probablement exécuter:
mkdir C:\data\db
En outre, MongoDB doit avoir des autorisations d'écriture pour ce répertoire ou il doit être exécuté avec des autorisations de super-utilisateur, comme sudo mongod
.
J'ai continué à recevoir l'erreur suivante lorsque j'ai essayé de démarrer mongodb (sur mac os).
"shutting down with code:100"
J'utilisais la commande suivante:
./mongod --dbpath=~/mongo-data
Le correctif pour moi était que je n'avais pas besoin du signe "=" et cela provoquait l'erreur. Alors j'ai fait
./mongod --dbpath ~/mongo-data
Je voulais juste jeter cela là-bas parce que l'erreur ne spécifie en aucun cas que c'est le problème. J'ai presque supprimé le contenu du répertoire ~ / mongo-data pour voir si cela a aidé. Heureux de me souvenir que les cli args n'utilisent parfois pas le signe "=".
vous devez d'abord créer un répertoire de données dans lequel MongoDB stocke les données. Le chemin du répertoire de données par défaut de MongoDB est le chemin absolu \ data \ db sur le lecteur à partir duquel vous démarrez MongoDB.
si vous avez installé dans le lecteur C: /, vous devez créer le répertoire data \ db. pour faire cette commande d'exécution dans cmd
C:\>mkdir data\db
Pour démarrer MongoDB, exécutez mongod.exe.
"C:\Program Files\MongoDB\Server\4.2\bin\mongod.exe" --dbpath="c:\data\db"
L'option --dbpath pointe vers votre répertoire de base de données.
Connectez-vous à MongoDB.
"C:\Program Files\MongoDB\Server\4.2\bin\mongo.exe"
pour vérifier que tout fonctionne bien:
show dbs
1.S'il affiche une erreur (arrêt avec le code 100), cela signifie qu'il ne trouve pas l'emplacement souhaité du fichier.
1.a Si c'est avant macOS Catalina, créez un répertoire avec sudo mkdir -p / data / db et donnez les autorisations pour l'utiliser
sudo chown -Rid -un
/ data / db.
1.b s'il s'agit de macOS Catalina, créez sudo mkdir -p / System / Volumes / data / db et donnez-lui les autorisations sudo chown -R id -un
/ System / Volumes / data / db.
2.Lancement des services de brassage mongo db exécutez mongodb-community
3.Tapez mongod ou mongod --dbpath / System / Volumes / Data / data / db
4.Et si le mongod affiche une erreur (arrêt avec le code 48) que
signifie le port est déjà utilisé, vous pouvez donc faire deux choses
4.a Soit vous changez le port de mongod en spécifiant le port
numéro de mongod --dbpath / System / Volumes / Data / data / db —port 27018.
4.b Ou vous pouvez tuer le processus sur ce port en trouvant le processus par sudo lsof -i: 27017 puis tuer par la commande
kill -9
5.Répétez les étapes 2 et 3.
Pour les utilisateurs de macOS, prenez en charge le problème ci-dessous:
si vous installez MongoDB Community sur macOS en utilisant .tgz Tarball
(( À partir de macOS 10.15 Catalina, Apple limite l'accès au répertoire de données par défaut de MongoDB de / data / db. Sur macOS 10.15 Catalina, vous devez utiliser un répertoire de données différent, tel que / usr / local / var / mongodb. ))
vous pouvez le résoudre comme suit:
(À partir de MacOS Catalina)
Apple a créé un nouveau volume dans Catalina à des fins de sécurité. Si vous êtes sur Catalina, vous devez créer le dossier / data / db dans System / Volumes / Data.
Utilisez cette commande:
sudo mkdir -p /System/Volumes/Data/data/db
Ensuite, utilisez cette commande pour donner des autorisations:
sudo chown -R `id -un` /System/Volumes/Data/data/db
cela remplacera la normale
sudo mkdir -p /data/db
Assurez-vous que le répertoire / data / db dispose des autorisations appropriées en exécutant:
sudo chown -R `id -un` /data/db
une fois que vous avez terminé et démarrez mongoDB, vous pouvez utiliser les éléments suivants dans le terminal:
sudo mongod --dbpath /System/Volumes/Data/data/db
Sous MacOS : -
Si vous avez oublié de donner le chemin de la base de données précédemment créée lors de l'exécution du serveur mongo, l'erreur ci-dessus apparaîtra.
sudo ./mongod --dbpath ../../mongo-data/
Remarque: - ./mongod && ../../mongo-data est un chemin relatif. Vous pouvez donc l'éviter par configuration dans la variable d'environnement
Pour les fenêtres j'ai le même problème.
Le correctif était - je dois exécuter la ligne de commande en tant qu'administrateur.
si vous avez déjà le répertoire, vérifiez les autorisations dir ou essayez de redémarrer mongo avec sudo. les services de brassage sudo démarrent mongodb
Dans mon cas, j'ai eu une erreur similaire et cela se produisait parce que j'avais exécuté mongod avec l'utilisateur root et que cela avait créé un fichier journal accessible uniquement par la racine. Je pourrais résoudre ce problème en changeant la propriété de root en l'utilisateur à partir duquel vous exécutez normalement mongod. Le fichier journal se trouvait dans / var / lib / mongodb / journal /
Si vous utilisez Virtualbox, vérifiez votre VM.
docker-machine ssh
df -h
Regardez dev / sda1 si vous n'avez pas d'espace libre, cela peut être dû à un grand nombre d'images ou de conteneurs. vous pouvez les supprimer en utilisant "docker rm" et "docker rmi"
Ce code de sortie sera également donné si vous changez les versions de MongoDB et que le répertoire de données est incompatible, comme avec une rétrogradation. Déplacez l'ancien répertoire ailleurs et créez un nouveau répertoire (selon les instructions données dans d'autres réponses).
Aravind.
Cela m'est arrivé aussi parce que j'ai arrêté MongoDB par le gestionnaire de tâches.
Créer le dossier C: \ data \ db et démarrer MongoDB à C: \ Program Files \ MongoDB \ Server \ 3.4 \ bin \ mongod.exe a fonctionné pour moi, comme cespon l'a suggéré, mais MongoDB n'a montré aucune de mes bases de données créé précédemment.
Ensuite, supprimez le dossier C: \ data \ db et réparez l'installation avec le programme d'installation de MongoDB , j'ai récupéré mes données et démarré normalement MongoDB.
(Je suis très nouveau avec MongoDB, mais cela m'a aidé à résoudre ce problème et à récupérer les données de prévisualisation).
mongod tapé et obtenant une erreur
Les erreurs:
exception dans initAndListen: NonExistentPath: répertoire de données / data / db introuvable., arrêt
s'arrête avec le code 100
Ensuite, essayez avec (créer des données et un dossier db avec toutes les autorisations)
mongod --dbpath = / data
utilisez le nouvel onglet et tapez mongo.
Si vous êtes toujours confronté à un problème, vous pouvez vérifier mac catalina: ( https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x-tarball/ )
pour Windows: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows-unattended/
C:\data\db\
n'a pas été trouvé. Utilisation:mkdir C:\data\db