Installé Mongo
à l'aide de homebrew
. Si je tape mongo
sur Shell, il se connecte à test
. Mais quand je tape le ip address
de la machine locale au lieu de 127.0.0.1
mongo --Host 192.168.1.100 --verbose
Ça me donne un message d'erreur
MongoDB Shell version: 2.4.6
Fri Aug 23 15:18:27.552 versionArrayTest passed
connecting to: 192.168.1.100:27017/test
Fri Aug 23 15:18:27.579 creating new connection to:192.168.1.100:27017
Fri Aug 23 15:18:27.579 BackgroundJob starting: ConnectBG
Fri Aug 23 15:18:27.580 Error: couldn't connect to server 192.168.1.100:27017 at src/mongo/Shell/mongo.js:147
Fri Aug 23 15:18:27.580 User Assertion: 12513:connect failed
J'ai essayé de modifier le mongo.conf
en commentant bind_ip
ou en modifiant l'adresse IP de 127.0.0.1
en 0.0.0.0
, mais sans succès. Cela devrait être simple, mais je n'en ai aucune idée maintenant. Utilisation de mac.
Merci
Mise à jour: à la demande. Cela fonctionne après avoir apporté les modifications que vous avez suggérées.
ifconfig sortie
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_HWTAGGING>
ether XX:XX:XX:
media: autoselect (none)
status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether XX:XX:XX:XX:01
inet6 XXXX:XXXX:XXXX: %en1 prefixlen 64 scopeid 0x5
inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
media: autoselect
status: active
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
ether XX:XX:XX:XX:XX
media: autoselect
status: inactive
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 4078
lladdr XX:XX:XX:XX
media: autoselect <full-duplex>
status: inactive
Sortie lors de l'exécution de la commande mongo --Host 192.168.1.100 --verbose
MongoDB Shell version: 2.4.5
Fri Aug 23 16:42:09.806 versionArrayTest passed
connecting to: 192.168.1.100:27017/test
Fri Aug 23 16:42:09.837 creating new connection to:192.168.1.100:27017
Fri Aug 23 16:42:09.837 BackgroundJob starting: ConnectBG
Fri Aug 23 16:42:10.129 connected connection!
Server has startup warnings:
Fri Aug 23 16:41:59.025 [initandlisten]
Fri Aug 23 16:41:59.025 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
Fichier mongod.conf
# Store data in /usr/local/var/mongodb instead of the default /data/db
dbpath = /usr/local/var/mongodb
# Append logs to /usr/local/var/log/mongodb/mongo.log
logpath = /usr/local/var/log/mongodb/mongo.log
logappend = true
# Only accept local connections
bind_ip = 0.0.0.0`
Je viens de tester cela sur mon Mac avec Homebrew, fonctionne bien si vous changez l'adresse de liaison. Je suppose que vous n'avez probablement pas correctement configuré la configuration de bind?
Pour que nous ayons toutes les informations, pouvez-vous coller le résultat de ifconfig
s'il vous plaît?
Par défaut, MongoDB devrait écouter toutes les interfaces. Vous ne devriez pas avoir besoin de modifier la configuration. Cependant, la configuration de Homebrew semble remplacer ceci (/usr/local/etc/mongod.conf):
# Only accept local connections
bind_ip = 127.0.0.1
Veuillez tuer MongoDB et lancez ceci (notez le -v):
$ mongod --bind_ip 0.0.0.0 -v
warning: bind_ip of 0.0.0.0 is unnecessary; listens on all ips by default
all output going to: /usr/local/var/log/mongodb/mongo.log
Il suffit de coller votre sortie pour cela s'il vous plaît?
Et puis juste essayer:
$ mongo --Host 192.168.43.2 --verbose
MongoDB Shell version: 2.4.6
Sat Aug 24 09:07:14.556 versionArrayTest passed
connecting to: 192.168.43.2:27017/test
Sat Aug 24 09:07:14.657 creating new connection to:192.168.43.2:27017
Sat Aug 24 09:07:14.657 BackgroundJob starting: ConnectBG
Sat Aug 24 09:07:14.657 connected connection!
Server has startup warnings:
Sat Aug 24 09:06:44.360 [initandlisten]
Sat Aug 24 09:06:44.360 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
>
Évidemment, remplacez-le par votre adresse IP. Dites-nous comment ça se passe.
En fait, si vous voulez accéder à l'interface de repos à partir de n'importe quelle adresse IP, vous n'avez pas besoin de définir bind_ip sur 0.0.0.0 dans le fichier mongod.conf. Vous devez uniquement commenter ou supprimer l'élément de configuration,
#bind_ip=127.0.0.1
Et puis, redémarrez votre service, vous pouvez constater que vous pouvez accéder au service de repos à partir du port 28017 à partir de votre ordinateur.
Remarque: la configuration ci-dessous concerne Windows 10 et MongoDB 4.0
Il y a deux façons de configurer cela.
mongod.cfg
.Utilisation des commandes shell
Commencez par ouvrir la cmd
en tant que administrator
et passez à --YourPath--\MongoDB\Server\4.0\bin
Si vous exécutez déjà le service MongoDB, exécutez cette commande ou passez à l'étape suivante .mongod --remove
Définissez ensuite le chemin d'accès au dossier de données, au fichier journal et à la liaison IP à l'aide de la commande ci-dessous
mongod --dbpath "C:\Program Files\MongoDB\Server\4.0\data" --logpath "C:\Program Files\MongoDB\Server\4.0\log\mongod.log" --bind_ip "0.0.0.0" --install --serviceName "MongoDB"
caution: Cette configuration ip permet d'accéder à votre base de données sur l'ensemble du réseau.
services.msc
et recherchez la MongoDB
, puis Clic droit -> Démarrer le service. À travers mongod.cfg
MongoDB a une très bonne documentation pour Configuration here.
Il suffit de changer le bindIp: 127.0.0.1
en bindIp: 0.0.0.0
. Puis redémarrez le service en utilisant le point n ° 3 de la rubrique ci-dessus.