Das Folgende ist meine MongoDB-Verbindungswahl von GoLang. Es wird jedoch eine Panik zurückgegeben: "Der Server hat beim SASL-Authentifizierungsschritt einen Fehler zurückgegeben: Authentifizierung fehlgeschlagen. " Mein Benutzername, Passwort, hostAddrs und dbName sind korrekt. Was fehlt mir hier?
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)
}
mongodb
authentication
go
mgo
Arjun Ajith
quelle
quelle
-d <dbname>
Option hinzufügen . Keine Notwendigkeit--authenticationDatabase
für michOft haben wir den Parameter im Befehl mongoexport mit dem Benutzer "Log-In" verwechselt. Der Befehl erwartet "Datenbank-Benutzername", nicht Anmeldenamen. Dies ist eine Möglichkeit, einen falschen Benutzernamen einzugeben. "Datenbankbenutzername" finden Sie auf der Registerkarte "Benutzer" für eine Datenbank
quelle
Ich habe meine Antwort von diesem Link erhalten: https://newbiedba.wordpress.com/2016/11/21/mongodb-3-2-server-returned-error-on-sasl-authentication-step-authentication-failed/
Abgesehen von allen oben genannten Antworten ist der einzige nicht erwähnte Grund, dass mein Passwort ein Sonderzeichen '$' enthält. Ich denke, dies ist eine sehr verbreitete Praxis, um Sonderzeichen zu haben, und dies kann viele ohne diesen einfachen Tipp auslösen:
Bei Verwendung der Befehlszeile mongo / mongostat / etc .. Geben Sie einfach Ihren Benutzernamen oder Ihr Passwort mit Sonderzeichen an!
quelle
&
die das Problem verursachtemgo
diesen Fehler zurück , wennusername
,password
oderdatabase
sind falsch. Überprüfen Sie Ihre Anmeldeinformationen zweimal. Es gibt keine anderen Situationen, in denen eineAuthentication failed
Fehlermeldung angezeigt wird.quelle
Der Fehler, den Sie melden, scheint die Ursache für den Authentifizierungsfehler zu sein, der durch einen Nullzeiger verursacht wird. Sie sollten die Daten überprüfen, bevor Sie sie zum Herstellen der Verbindung verwenden
quelle
Ich habe diesen Fehler erhalten, als ich eine Verbindungszeichenfolge aus einer Heroku-App mithilfe des
--uri
Flags verwendet habe. Was es in meinem Fall gelöst hat, war das Hinzufügen des Datenbanknamens mit-d
:mongodb_uri="$(heroku config:get MONGODB_URI -a myapp)" mongorestore --uri=$mongodb_uri -d heroku_7m41q4xs db/
quelle
Ich hatte den gleichen Fehler bei der Verwendung mit Dokku Mongo: Import. In meinem Fall habe ich Punkt (Punkt) in meinen Datenbanknamen aufgenommen
Sie sollten keinen Punkt in Ihren Mongodb-Namen aufnehmen, wenn 'dokku mongo: create'. Ich habe ihn in seunghunlee anstelle von seunghunlee.net geändert, jetzt funktioniert dieser Befehl
dokku mongo:import seunghunlee < seunghunlee.net.dump.gz
Ich hoffe es hilft!
quelle