2016-10-14 37 views
9

Ich möchte mit Robomongo eine Verbindung zu einer entfernten Datenbank herstellen. Ich kann zur Datenbank verbinden, aber ein Fehler sagt, dass:
Fehlgeschlagen Liste der Datenbanken
enter image description hereFehler beim Laden der Liste der Datenbanken

Was soll ich tun, laden?

+1

gleiches Problem. Es hat vorher funktioniert, aber jetzt gestoppt. "Kann keine Verbindung zur MongoDB bei xx.xx.xx.xx: 443 herstellen. Fehler: Fehler beim Ausführen des Befehls "listdatabases". " – arvindwill

Antwort

4

Meiner Erfahrung nach hängt es mit fehlgeschlagener Datenbankbenutzer-/kennwortauthentifizierung zusammen. Wahrscheinlich ist Ihre IP-Verbindung zum Server erfolgreich, aber Sie konnten keine Verbindung zur Datenbank herstellen. Ich schlage vor, den Benutzernamen/das Passwort Ihrer Datenbank zu überprüfen und es erneut zu versuchen.

Und besser zu zeigen, was drin ist "Fehlerdetails anzeigen".

+0

Es sind keine Kennwörter verfügbar. Muss ich ein Kennwort festlegen? –

+0

Können Sie auch" Fehlerdetails "teilen und welche entfernte Datenbank verwenden Sie? für Mongo Atlas, sollten Sie Datenbank Benutzer/Passwort definieren –

+0

keine Details! nur dieser Fehler! Die Details sagt wieder den gleichen Fehler –

3

Zum Verbindungseinstellungen -> Authentication - Bereitstellung von Datenbankname, Benutzername, Passwort - jetzt testen Sie die Verbindung ich in der gleichen Ausgabe lief, dann vorausgesetzt ich die oben genannten Informationen, die mein Problem gelöst

Siehe: (Vaibhavs Beitrag) Punkt 3.Erstellen von DB-Namen und Benutzernamen und Passwort How to connect Robomongo to MongoDB

0

Ich hatte den gleichen Fehler ("konnte eine Liste von Datenbanken nicht laden"). Aus irgendeinem Grund wurden alle meine Datenbanken und Sammlungen entfernt. Anscheinend konnte Robomongo nicht mit der Situation umgehen, wenn auf dem Server keine Datenbanken/Sammlungen verfügbar sind.

Um das Problem zu lösen, verbunden ich zu Mongo Shell, erstellt eine Datenbank und erstellt eine Sammlung:

mongo (start mongo shell) 
use local (create database named local) 
db.createCollection("somename") 

Danach habe ich auf den Mongo Server

-1

Wenn Sie mit verbinden können mongod --auth --dbpath /data/db1 Befehl zum Starten von MongoDB, entfernen Sie --auth und starten Sie es.

mongod --dbpath /data/db1

Jetzt kann Robomongo eine Verbindung ohne Authentifizierung herstellen. Aber ohne Authentifizierung zu starten ist nicht sicher. Nehmen Sie ein anderes Terminal und erstellen Sie einen Benutzer für Ihre Datenbank mit dem Befehl mongo, wie in dieser article beschrieben.

use myDB 
db.createUser(
    { 
    user: "myUserAdmin", 
    pwd: "abc123", 
    roles: [ { role: "dbAdminAnyDatabase", db: "admin" } ] 
    } 
) 

Starten Sie jetzt Ihre MongoDB mit --auth neu. Verbinden Sie sich mit Robomongo, nachdem Sie die Authentifizierungsdetails in den Verbindungseinstellungen konfiguriert haben.

1

Dies liegt daran, dass jeder Benutzer, den Sie verbinden, keine Berechtigungen zum Auflisten der Datenbanken besitzt.

https://docs.mongodb.com/manual/reference/built-in-roles/

Beachten Sie, dass ein Benutzer/Rolle kann mit einer bestimmten Datenbank/Sammlung verbinden und interagieren, sondern um für Robomongo die Datenbanken/Sammlungen zur Liste aus, die Sie benötigen es für Ihre Datenbank lassen verbindet eine mit Benutzer mit listDatabases Privilegien.

+1

Sie können dies verwenden, um Berechtigungen zu erteilen https://StackOverflow.com/Questions/22638258/create-superuser-in-mongo – HMagdy

0

ich das gleiche Problem (mit Robomongo) hatte, dann erstellt, ich einen Benutzer mit seinem Passwort an die Datenbank zu verbinden, und jetzt funktioniert es ok

Verwandte Themen