with restful how golang example mongodb authentication go mgo

mongodb - restful - el servidor devolvió un error en el paso de autenticación SASL: la autenticación falló



how to build an api with go (6)

El siguiente es mi dial de conexión MongoDB de GoLang. Pero está devolviendo un pánico "el servidor devolvió un error en el paso de autenticación SASL: la autenticación falló ". Mi nombre de usuario, contraseña, hostAddrs y dbName son correctos. ¿Que me estoy perdiendo aqui?

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) }


A menudo confundimos con el parámetro en el comando mongoexport con el usuario "Iniciar sesión". El comando espera "Nombre de usuario de la base de datos" no nombre de usuario de inicio de sesión. Esta es una posibilidad para ingresar un nombre de usuario incorrecto. El "Nombre de usuario de la base de datos" se puede encontrar en la pestaña "Usuarios" para una base de datos


El error que informa parece que la causa de la falla de autenticación es causada por un puntero nulo, debe verificar los datos antes de usarlos para crear la conexión


Me enfrenté a un error similar y --authenticationDatabase parámetro --authenticationDatabase y funcionó mientras nos --authenticationDatabase a un MongoDB remoto

Use el siguiente formato similar en su código:

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


Recibí mi respuesta de este enlace: https://newbiedba.wordpress.com/2016/11/21/mongodb-3-2-server-returned-error-on-sasl-authentication-step-authentication-failed/

Excepto por todas las respuestas anteriores, la única razón no mencionada es que mi contraseña tiene un carácter especial ''$''. Creo que esta es una práctica muy común para tener caracteres especiales y esto puede hacer tropezar a muchos sin este simple consejo:

Cuando use la línea de comando mongo / mongostat / etc. ¡Entre comillas simples, su nombre de usuario o contraseña que tenga caracteres especiales!


Tuve el mismo error al usar con dokku mongo: import. En mi caso, incluí punto (punto) en mi nombre de base de datos

No debe incluir un punto en su nombre mongodb cuando ''dokku mongo: create'' lo he cambiado a seunghunlee en lugar de seunghunlee.net ahora este comando funciona

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

¡Espero eso ayude!


mgo devuelve este error si el username , la password o la database son incorrectos. Verifique sus credenciales dos veces. No hay otras situaciones en las que pueda ver el mensaje de error Error de Authentication failed .