Ich habe gerade MongoDB installiert (Standard-Ubuntu-Build, nicht der neueste Stable) und aus irgendeinem Grund kann ich keine Verbindung herstellen:
Mon Feb 6 03:11:22 Error: couldn't connect to server 127.0.0.1 Shell/mongo.js:79
exception: connect failed
Jetzt ist mein Rechner nicht 127.x.x.1, sondern aus irgendeinem Grund x.x.x.2 (Aber ich habe meine Konfiguration geändert, um an diese Adresse zu binden, und habe auch versucht, an meine öffentliche IP-Adresse zu binden, die keinen Erfolg brachte.
Config:
# mongodb.conf
# Where to store the data.
# Note: if you run mongodb as a non-root user (recommended) you may
# need to create and set permissions for this directory manually,
# e.g., if the parent directory isn't mutable by the mongodb user.
dbpath=/var/lib/mongodb
#where to log
logpath=/var/log/mongodb/mongodb.log
logappend=true
bind_ip = 199.21.114.XX
port = 27017
Ich habe die Protokolle geprüft und es werden nur die Startinformationen angezeigt.
Ich habe auch überprüft, dass der Deamon auch läuft, und es ist - ich habe sogar versucht, es manuell mit einem --fork
auszuführen.
Hat jemand das schon mal gesehen? Oder irgendwelche Vorschläge?
Vielen Dank
AKTUALISIEREN:
Nach einem Neustart - hier sind die Protokolle:
** WARNING: You are running in OpenVZ. This is known to be broken!!!
Tue Feb 7 19:43:32 [initandlisten] db version v1.8.2, pdfile version 4.5
Tue Feb 7 19:43:32 [initandlisten] git version: nogitversion
Tue Feb 7 19:43:32 [initandlisten] build sys info: Linux allspice 2.6.24-28-se$
Tue Feb 7 19:43:32 [initandlisten] *** warning: spider monkey build without ut$
Tue Feb 7 19:43:32 [initandlisten] waiting for connections on port 27017
Tue Feb 7 19:43:32 [websvr] web admin interface listening on port 28017
Sie müssen die IP-Adresse (199.21.114.XX) angeben, indem Sie mongo 199.21.114.XX
ausführen.
Andernfalls sollten Sie die Einstellung bind_ip
in Ihrer Konfigurationsdatei entfernen, wenn Sie auch localhost abhören möchten.
Update Überprüfen Sie Ihre Firewall-Konfiguration. Da Sie eine Verbindung mit der externen IP-Adresse herstellen, kann diese so konfiguriert werden, dass sie sogar von der lokalen Box blockiert wird.
Ich habe dieses Problem gelöst, indem ich die folgende Zeile in meiner /etc/mongod.conf
-Datei auskommentierte.
# Listen to local interface only. Comment out to listen on all interfaces.
#bind_ip = 127.0.0.1
Sie müssen diese Konfigurationsänderung mit einem Neustart des Mongod-Prozesses durchführen.
Sudo service mongod restart
Sudo rm /var/lib/mongodb/mongod.lock
Ich hatte das gleiche Problem nur wegen des dummen Fehlers.
entfernen Sie zuerst die Mongodb-Datei, die in Ordnung ist
rm -rf /tmp/mongodb-27017.sock
wo ich in der /etc/mongod.conf einen Fehler gemacht habe
# network interfaces
net:
port: 27017
#bindIp: 127.0.0.1
bindIp: privateIp
anstatt
net:
port: 27017
bindIp: 10.1.2.4
um alle verfügbaren ips anzuhören
bindIp: [127.0.0.1,10.128.0.2]
starten Sie den Mongodb neu
Sudo service mongod start
hoffentlich hilft diese Antwort für jemanden
Wenn Sie den Befehl mongo
console ausführen, wird standardmäßig nach mongodb auf Ihrem localhost gesucht, daher die 127.0.0.1
-IP, die Ihr lokaler Loopback ist. Die Standardkonfiguration für mongod
sollte auch auf localhost verfügbar sein. Es ist besser, es auf diese Weise für den Anfang zu tun, es sei denn, Sie haben auth eingeschaltet. Stellen Sie sicher, dass auth aktiviert ist oder Ihre Datenbank auf Ihrer öffentlichen IP-Adresse offen ausgeführt wird.
Wenn Sie eine Verbindung zu einem anderen Host als localhost oder zu Ihrer Standardkonfiguration herstellen möchten, müssen Sie Folgendes tun:
mongo <Host>
in /etc/mongod.conf
Ich habe mich verändert,
bindIp: 127.0.0.1
zu
bindIp: 0.0.0.0
das sind alle Ports. Ja, ich weiß, dass es riskant ist, aber ich arbeite in einem internen Netzwerk.
BTW, das #bindIp: 127.0.0.1
auskommentierte, funktionierte NICHT für mich und lief unter Ubuntu 18.
folgende Schritte können Ihnen helfen:
5 schließlich rufen Sie einfach den Befehl "mongo" auf.
Eine andere Möglichkeit ist das Hinzufügen der Mongod-Option param bind_ip
mongod -–help
--bind_ip Eine durch Kommas getrennte Liste der IP-Adressen in aufhören - localhost standardmäßig
--bind_ip_all bindet an alle IP-Adressen
mongod --fork --logpath /var/log/mongodb.log --dbpath /data/db --bind_ip 0.0.0.0