web-dev-qa-db-fra.com

le serveur a renvoyé une erreur à l'étape d'authentification SASL: L'authentification a échoué

Ce qui suit est mon cadran de connexion MongoDB de GoLang. Mais cela renvoie une panique " le serveur a renvoyé une erreur à l’étape de l’authentification SASL: L’authentification a échoué. ". Mon nom d'utilisateur, mot de passe, hostAddrs et dbName sont corrects. Qu'est-ce que j'oublie ici?

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)

}
35
Arjun Ajith

J'ai rencontré une erreur similaire et ajouté le paramètre --authenticationDatabase et cela a fonctionné lors de la connexion à un MongoDB distant

Utilisez le format similaire ci-dessous dans votre code:

$mongorestore --Host databasehost:98761 --username restoreuser
--password restorepwd --authenticationDatabase admin --db targetdb ./path/to/dump/
82
Anantha

Nous avons souvent confondu le paramètre de la commande mongoexport avec l'utilisateur "Connexion" . La commande attend "Nom d'utilisateur de la base de données" et non le nom d'utilisateur de connexion . C'est une possibilité de saisir un nom d'utilisateur incorrect . " Base de données "peut être trouvé dans l'onglet" Utilisateurs "pour une base de données

11
Geomy George

mgo renvoie cette erreur si username, password ou database sont erronés. Vérifiez vos informations d'identification deux fois. Il n'y a pas d'autres situations où vous pouvez voir le message d'erreur Authentication failed.

3
CrazyCrow

J'ai eu ma réponse de ce lien: https://newbiedba.wordpress.com/2016/11/21/mongodb-3-2-server-returned-error-on-sasl-authentication-step-authentication-failed/

À l'exception de toutes les réponses ci-dessus, la seule raison non mentionnée est que mon mot de passe comporte un caractère spécial «$». Je pense que c'est une pratique très courante d'avoir des caractères spéciaux et cela peut en dérouter beaucoup sans cette astuce simple:

Lorsque vous utilisez la ligne de commande mongo/mongostat/etc .. Indiquez simplement votre nom d'utilisateur ou votre mot de passe comportant des caractères spéciaux!

1
Michael Shang

L'erreur que vous signalez semble que la cause de l'échec de l'authentification est provoquée par un pointeur nil. Vous devez vérifier les données avant de les utiliser pour créer la connexion.

1
Bestbug

J'ai eu la même erreur lors de l'utilisation avec dokku mongo: import. Dans mon cas, j'ai inclus un point (point) dans mon nom de base de données

Vous ne devez pas inclure point dans votre nom mongodb lorsque vous saisissez 'dokku mongo: create' Je l'ai changé en seunghunlee au lieu de seunghunlee.net

dokku mongo:import seunghunlee < seunghunlee.net.dump.gz

J'espère que ça aide!

0