J'ai récemment installé mongodb-2.6.0 avec Homebrew . Une fois installé avec succès, j'ai essayé de me connecter à l'aide de la commande mongo
. Je reçois les erreurs suivantes qui ne me permettent pas de me connecter:
Failed to connect to 127.0.0.1:27017, reason: errno:61 Connection refused
Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/Shell/mongo.js:146
exception: connect failed
Cela peut arriver lorsque le service mongodb ne fonctionne pas sur le mac. Pour commencer, j'ai essayé
brew services start mongodb
et cela a fonctionné.
Edit: Selon la discussion sur ce RP sur l'homebrew: https://github.com/Homebrew/homebrew/issues/30628
brew services
est obsolète, j'ai jeté un œil sur SO et trouvé que ces réponses répondent maintenant à la question suivante: Quelle est la bonne façon de démarrer un service Mongod sur Linux/OS X? =
J'ai rencontré exactement le même problème et voici un processus clair étape par étape pour éviter cette erreur.
Étape 1 - Installation (ne suivez pas cette étape si vous avez déjà installé MongoDB):
brew update
brew install mongodb
Étape 2 - Exécuter le démon Mongo:
mkdir -p /data/db
Sudo mongod
Étape 3 - Exécuter l'interface du shell Mongo:
mongo
Dans cette séquence, j'ai pu exécuter la commande mongo
sans erreur. J'ai également détaillé la trace d'erreur et sa solution sur ce blog .
Pour résoudre votre problème, vous devez suivre les instructions qui vous sont ensuite données par une infusion après avoir utilisé "infusion installer mongodb".
Pour que launchd démarre mongodb à la connexion:
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Ensuite, pour charger mongodb maintenant:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Ou, si vous ne voulez pas/n'avez pas besoin de launchctl, vous pouvez simplement exécuter:
mongod --config /usr/local/etc/mongod.conf
Vous pourrez peut-être exécuter simplement la dernière commande, mais cela ne fonctionna pas pour moi et je devais exécuter la deuxième commande. Pour me sauver dans le futur. Je viens de lancer la première commande aussi. J'espère que ça t'as aidé!
EDIT La méthode utilisée par Hrishi pour utiliser brew services mongodb start
a fonctionné pour moi. Je pense qu'ils devraient inclure cela dans les docs mongo.
Dans un autre onglet, vous pouvez démarrer le shell mongo avec
mongod
Revenez ensuite à l'onglet précédent et réessayez. Si vous rencontrez des difficultés pour configurer votre mongoshell, consultez ce lien sur le shell mongo: http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/ ou ce lien sur l'installation de mongodb: http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/
J'avais le même problème lorsque j'ai appelé mongod
à partir de la ligne de commande.
J'ai résolu ce problème en appelant à la place Sudo mongod
.
J'ai eu la même erreur mais une cause fondamentale différente. Je pensais que je posterais la solution ici au cas où quelqu'un d'autre rencontrerait le problème. J'ai eu cette erreur après que mon Mac se soit éteint de manière incorrecte alors que j'utilisais mongorestore -d foo dump/foo/
.
tl; dr: J'ai résolu le problème en supprimant le fichier foo.ns
endommagé avec foo.0
, foo.1
, ... de mon dossier de données /usr/local/var/mongodb/
. Ensuite, j'ai redémarré le serveur Mongo avec brew services restart mongodb
et je suis revenu à la normale.
Détails: J'ai continué à avoir l'erreur même après avoir essayé de démarrer ou de redémarrer le service mongodb via brew ou launchctl. Finalement, j'ai couru mongod --dbpath /usr/local/var/mongodb
et constaté que le service ne commençait pas réellement, et la séquence de démarrage contenait l'erreur suivante: [initandlisten] bad .ns file: /usr/local/var/mongodb/foo.ns [initandlisten] User Assertion: 10079:bad .ns file length, cannot open database
je me suis débarrassé du mauvais fichier .ns
et du reste des données. fichiers, et la prochaine fois que j'ai démarré le service, j'étais prêt à partir.
pour moi sur osx, j'ai dû tuer l'ancienne instance en cours d'exécution, puis le redémarrage a fonctionné.
$>ps -aef | grep mongo
502 8047 1 0 11:52AM ?? 0:00.23 /usr/local/opt/mongodb/bin/mongod --config /usr/local/etc/mongod.conf
$>Sudo kill 8047
$>Sudo mongod
J'ai eu cette erreur après avoir mis à niveau vers Mongo 3.6 avec homebrew.
Le journal /usr/local/var/log/mongodb/mongo.log
contenait le message shutting down with code:62
. Ce code d'erreur signifie que la base de données existante est trop ancienne pour être exécutée avec la version actuelle de mongo.
J'ai trouvé 2 solutions dans un autre SO question :
/usr/local/var/mongodb
)J'ai choisi de mettre à niveau. Dans mon cas, cela signifiait que je devais rétrograder à la version 3.4, exécuter une commande dans la console mongo, puis effectuer une nouvelle mise à niveau. Mongo vous oblige à mettre à niveau une version majeure à la fois. Par conséquent, selon votre situation, des étapes supplémentaires pourraient être nécessaires. La documentation vous guidera.
Les commandes brew switch
* et brew services restart
rendaient la permutation entre les versions relativement simple.
J'ai eu le même problème et en regardant dans le fichier journal, j'ai vu ceci:
{2019-03-09T11:57:32.136-0500 I STORAGE [initandlisten]
exception in initAndListen: NonExistentPath:
Data directory /usr/local/var/mongodb not found., terminating}
j'ai donc créé le répertoire /usr/local/var/mongodb
émis la commande mongodb de redémarrage des services d'infusion que j'ai pu ouvrir la console Mongo.
Si vous avez déjà installé MongoDB, essayez d’abord d’exécuter mongod en tant qu’utilisateur Sudo; j’étais confronté au problème car je n’exécutais pas mongod en tant que superutilisateur.
J'ai collé le o/p pour les deux commandes ( mongod et Sudo mongod ) tout en bas, vous pouvez vérifier cela aussi mais
Essayez d'abord ceci
Sudo mongod
pas cela
mongod
J'avais installé MongoDB sur mon MAC OS X Sierra 10.12.6 en exécutant la commande suivante en séquence.
brew update
brew install mongodb --devel
brew services start mongodb
puis créé un répertoire dans lequel mongod process écrira les données; ceci est facultatif car le processus mongod le prend par défaut, consultez ce guide utile à l’adresse suivante: https://docs.mongodb.com/manual/tutorial/install-mongodb -on-os-x /
Sudo mkdir -p /data/db
Enfin commencé mongod processus comme suit
Sudo mongod
Sortie de mongod (échec) et Sudo mongod (réussi) commandes sur mon terminal.
MacBook-Pro-2:appscheck admin$ mongod
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] MongoDB starting : pid=2698 port=27017 dbpath=/data/db 64-bit Host=MacBook-Pro-2.local
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] db version v3.4.10
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] git version: 078f28920cb24de0dd479b5ea6c66c644f6326e9
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2n 7 Dec 2017
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] allocator: system
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] modules: none
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] build environment:
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] distarch: x86_64
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] target_Arch: x86_64
2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] options: {}
2017-12-10T08:12:06.166+0530 I STORAGE [initandlisten] exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /data/db, terminating
2017-12-10T08:12:06.166+0530 I NETWORK [initandlisten] shutdown: going to close listening sockets...
2017-12-10T08:12:06.166+0530 I NETWORK [initandlisten] shutdown: going to flush diaglog...
2017-12-10T08:12:06.167+0530 I CONTROL [initandlisten] now exiting
2017-12-10T08:12:06.167+0530 I CONTROL [initandlisten] shutting down with code:100
MacBook-Pro-2:appscheck admin$ Sudo mongod
Password:
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] MongoDB starting : pid=2700 port=27017 dbpath=/data/db 64-bit Host=MacBook-Pro-2.local
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] db version v3.4.10
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] git version: 078f28920cb24de0dd479b5ea6c66c644f6326e9
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2n 7 Dec 2017
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] allocator: system
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] modules: none
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] build environment:
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] distarch: x86_64
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] target_Arch: x86_64
2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] options: {}
2017-12-10T08:12:14.084+0530 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=7680M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten]
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten]
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten]
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
2017-12-10T08:12:14.560+0530 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
2017-12-10T08:12:14.707+0530 I INDEX [initandlisten] build index on: admin.system.version properties: { v: 2, key: { version: 1 }, name: "incompatible_with_version_32", ns: "admin.system.version" }
2017-12-10T08:12:14.707+0530 I INDEX [initandlisten] building index using bulk method; build may temporarily use up to 500 megabytes of RAM
2017-12-10T08:12:14.719+0530 I INDEX [initandlisten] build index done. scanned 0 total records. 0 secs
2017-12-10T08:12:14.720+0530 I COMMAND [initandlisten] setting featureCompatibilityVersion to 3.4
2017-12-10T08:12:14.720+0530 I NETWORK [thread1] waiting for connections on port 27017
Ensuite, j'ai ouvert un nouveau terminal pour commencer à interroger MongoDB , cela a fonctionné.
MacBook-Pro-2:appscheck admin$ mongo
MongoDB Shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.10
Welcome to the MongoDB Shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
Server has startup warnings:
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten]
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten]
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten]
2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
> show dbs;
admin 0.000GB
local 0.000GB
> use practice
switched to db practice
>
Voilà.