Kann keine Verbindung zu mongodb mit Computer-ip
Installiert Mongo
mit homebrew
. Wenn ich Typ mongo
auf der shell, es wird verbunden test
. Aber wenn ich die ip address
von der lokalen Maschine statt 127.0.0.1
mongo --host 192.168.1.100 --verbose
Es gibt mir die Fehlermeldung
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
Haben versucht, das ändern der mongo.conf
kommentieren bind_ip
oder durch ändern der ip-Adresse von 127.0.0.1
zu 0.0.0.0
aber kein Glück. Dies sollte einfach sein, aber haben keine Ahnung jetzt. Mit dem mac.
Dank
Update: Wie gewünscht. Das funktioniert, nachdem ich die änderungen vorgenommen haben, wie Sie vorgeschlagen.
Ausgabe von ifconfig
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
Ausgabe beim ausführen von Befehl 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
Datei 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`
- Probleme mit der Firewall, wäre meine erste Vermutung. Weiß nicht, Macs, also kann ich nicht wirklich leiten Sie weiter.
- Ich habe versucht mit
no firewall
auf dem mac und auf derselben Maschine. Ich kann ping mich über die ip, aber keine Verbindung über mongo.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich gerade getestet, auf meinem Mac mit Homebrew, funktioniert einwandfrei wenn ändern Sie die bind-Adresse. Ich vermute, dass Sie wahrscheinlich nur noch nicht die config für bind richtig?
Nur, damit wir alle Informationen haben, können Sie fügen Sie die Ausgabe von
ifconfig
bitte?Standardmäßig, MongoDB, sollten alle Schnittstellen Abhören, sollten Sie nicht brauchen, um die Konfiguration zu ändern, aber die Homebrew-setup scheint, dies zu ändern (/usr/local/etc/mongod.conf):
Bitte töten MongoDB und führen Sie diese (beachten Sie die -v):
Fügen Sie einfach Ihre Ausgabe für das bitte?
Und dann einfach versuchen:
Natürlich ersetzen Sie es mit Ihrer IP-Adresse. Lassen Sie uns wissen, wie das geht.
t get it. Why this did not work when I modified
mongo.conf` - Datei zu akzeptierenbind_ip 0.0.0.0
/usr/local/var/log/mongodb/mongodb.log
- Datei?mongod.conf
InhaltNicht
In der Tat, wenn Sie wollen, um den Zugriff auf die rest-Schnittstelle von einer beliebigen ip, brauchen Sie nicht zu setzen bind_ip auf "0.0.0.0" in der mongod.conf, die Sie nur Kommentar oder entfernen Sie das Konfigurationselement es, so ähnlich wie
Und starten Sie dann Ihren Dienst, können Sie feststellen, dass Sie Zugriff auf den rest-service vom 28017-port von Ihrem Computer
Hinweis: Unter Konfiguration ist für windows 10 & MongoDB 4.0
Gibt es zwei Möglichkeiten, um dies zu konfigurieren.
mongod.cfg
.Die Verwendung von shell-Befehlen
Ersten öffnen der
cmd
alsadministrator
und gehen Sie zu--YourPath--\MongoDB\Server\4.0\bin
Wenn Sie bereits mit der MongoDB-Dienst führen Sie dann diesen Befehl oder anderes, gehen Sie zum zweiten Punkt.
mongod --remove
Legen Sie dann den Pfad zum Daten-Ordner, log-Datei und die ip-Bindung mit dem nachstehenden Befehl
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"
Achtung: Diese ip-Konfiguration ermöglicht den Zugriff auf Ihre DB im gesamten Netzwerk.
services.msc
und finden Sie dieMongoDB
, dann Rechte Maustaste -> Start der service.Durch
mongod.cfg
MongoDB hat eine sehr gute Dokumentation für Konfiguration hier.
Ändern Sie einfach die
bindIp: 127.0.0.1
zubindIp: 0.0.0.0
. Starten Sie den Dienst mit der #3-Punkt-aus den oben genannten Thema.Erfolg: