2016-08-03 25 views
15

Der folgende Code ist mein MongoDB-Verbindungswählschalter von GoLang. Aber es gibt eine Panik "Server Fehler im SASL-Authentifizierungsschritt zurückgegeben: Authentifizierung fehlgeschlagen.". Mein Benutzername, Passwort, hostAddrs und dbName sind korrekt. Was fehlt mir hier?Server hat Fehler im SASL-Authentifizierungsschritt zurückgegeben: Authentifizierung fehlgeschlagen

dbName: = os.Getenv("ENV_DBNAME") 
userName: = os.Getenv("ENV_DBUSER") 
password: = os.Getenv("ENV_DBPASS") 
dbHost: = os.Getenv("ENV_DBHOST") 
mongoDialInfo: = & mgo.DialInfo { 
Addrs: [] string { 
    dbHost 
}, 
Database: dbName, 
Username: userName, 
Password: password, 
Timeout: 60 * time.Second, 
} 
sess, err: = mgo.DialWithInfo(mongoDialInfo) 
if (err != nil) { 
panic(err) 

} 
+0

Könnten Sie wählen als [dieses Recht beantworten] (https://stackoverflow.com/a/43749668/295716) von @anantha, thx – Antoine

Antwort

35

ich konfrontiert ähnliche Fehler und hinzugefügt --authenticationDatabase Parameter gefunden werden, und es funktionierte, während wir an einen entfernten MongoDB

Verwenden Sie das ähnlich unter Format im Code Verbindungs :

$mongorestore --host databasehost:98761 --username restoreuser 
--password restorepwd --authenticationDatabase admin --db targetdb ./path/to/dump/ 
+0

Danke, in meinem Fall war das genau die Lösung. – Rav

+1

Ich bin verwirrt ... Was ist der - AuthenticationDatabase Parameter? Der Name der Datenbank, auf die Sie zugreifen möchten? – vabm

+0

In meinem Fall hatte ich Zugriff auf nur eine Datenbank auf dem Server. Also musste ich einfach die Option "-d " hinzufügen. Keine Notwendigkeit von "- authenticationDatabase" für mich – alaster

3

mgo gibt diesen Fehler zurück, wenn username, password oder database falsch sind. Überprüfen Sie Ihre Anmeldedaten zweimal. Es gibt keine anderen Situationen, in denen Sie Authentication failed Fehlermeldung sehen können.

+0

Server zurückgegeben Fehler auf SASL Authentifizierungsschritt: Authentifizierung fehlgeschlagen. panic: Laufzeitfehler: ungültige Speicheradresse oder Nullzeigerdereferenzierung \t panic: Laufzeitfehler: ungültige Speicheradresse oder Nullzeigerdereferenzierung –

+0

Dies sind die Fehlermeldungen –

+0

Ist das die richtige Methode zum Herstellen einer Verbindung? –

1

Der Fehler die Ursache für die Authentifizierung berichten scheinen fail durch einen Null-Zeiger verursacht wird, sollten Sie die Daten überprüfen, bevor sie mit dem Anschluss

+1

Ich weiß nicht, wie der Up-Voter Sie verstanden hat, aber ich bin mir sicher, dass ich nichts aus Ihrer Antwort verstanden habe. Verstand mehr ausarbeiten ...? – rrw

+0

Gut nach mehr als 1 Jahr weiß ich nicht genau was ich dachte. Wahrscheinlich war meine Idee, dass die Golang-Anwendung eine oder mehrere env_variable nicht vom Host abrufen kann. – Bestbug

5

Oft wir verwechseln mit Parameter im mongoexport Befehl mit „Log erstellen -In "Benutzer. Der Befehl erwartet "Datenbankbenutzername" und keinen Benutzernamen. Dies ist eine Möglichkeit, einen falschen Benutzernamen einzugeben. „Datenbank-Benutzername“ in Register „Benutzer“ für eine Datenbank

+0

In meinem Fall verwendete ich mein mLab-Passwort anstelle des db-Passwortes. Dummer Fehler, aber diese Antwort half mir, es herauszufinden! – ahaurat