сервер вернул ошибку на шаге аутентификации SASL: аутентификация не удалась

Ниже приведен мой диск подключения MongoDB от GoLang. Но это возвращает паникусервер вернул ошибку на шаге аутентификации SASL: аутентификация не удалась.". Мои имя пользователя, пароль, hostAddrs и dbName верны. Что мне здесь не хватает?

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)

}

Ответы на вопрос(6)

Я получил ответ по этой ссылке:https://newbiedba.wordpress.com/2016/11/21/mongodb-3-2-server-returned-error-on-sasl-authentication-step-authentication-failed/

За исключением всех ответов выше, единственная не упомянутая причина заключается в том, что в моем пароле есть специальный символ «$». Я думаю, что это очень распространенная практика иметь специальные символы, и это может сбить с толку многих без простого совета

При использовании командной строки mongo / mongostat / etc .. Одиночная кавычка ваше имя пользователя или пароль, который имеет специальные символы!

 Zach B.01 апр. 2018 г., 07:47
Именно моя проблема. Спасибо.
 Andrei Radulescu26 июн. 2019 г., 15:15
tl; dr "Чтобы решить проблему, просто введите в кавычки поле пароля." например -p 'пароль'
Решение Вопроса

Я столкнулся с подобной ошибкой и добавил--authenticationDatabase параметр, и он работал, пока мы подключались к удаленному MongoDB

Используйте аналогичный ниже формат в вашем коде:

$mongorestore --host databasehost:98761 --username restoreuser
--password restorepwd --authenticationDatabase admin --db targetdb ./path/to/dump/
 Rav27 июн. 2017 г., 13:44
Спасибо, в моем случае это было именно то решение.
 Bruno Fernandes27 сент. 2018 г., 13:03
У меня есть ';' в моем пароле!
 Stepan Yakovenko05 июн. 2019 г., 15:18
Я все еще получаю ту же ошибку
 Pax Beach23 апр. 2018 г., 08:47
Это правильный совет, но в моем пароле был знак «%», а в сценарии cmd.exe этот знак исчез. У меня была такая же ошибка =)
 tyleax30 апр. 2019 г., 23:24
Спасибо, это было решением после поиска, что было не так.
 vabm20 янв. 2018 г., 13:02
Я в замешательстве ... что такое параметр --authenticationDatabase? имя базы данных, к которой вы хотите получить доступ?
 vogash11 февр. 2018 г., 13:52
Спасибо! Также работал для меня
 alaster04 февр. 2018 г., 18:15
В моем случае у меня был доступ только к одной базе данных на сервере. Так что мне нужно было просто добавить-d <dbname> вариант. Нет необходимости--authenticationDatabase для меня

У меня была такая же ошибка при использовании с dokku mongo: import. В моем случае я включил точку (точку) в моем имени БД

Вы не должны включать точку в имя вашего mongodb, когда «dokku mongo: create» я изменил его на seunghunlee вместо seunghunlee.net, теперь эта команда работает

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

Надеюсь, поможет!

mgo возвращает эту ошибку, еслиusername, password или жеdatabase не правы. Проверьте свои учетные данные дважды. Там нет других ситуаций, когда вы можете увидетьAuthentication failed сообщение об ошибке.

 Arjun Ajith03 авг. 2016 г., 15:13
Это правильный способ реализации соединения?
 CrazyCrow03 авг. 2016 г., 15:18
Да, это правильный способ реализации соединения. Вот рабочий кодgist.github.com/bearburger/718dec31746762684a7a512aed992a37 что связывает демо БД.
 Arjun Ajith03 авг. 2016 г., 15:12
сервер вернул ошибку на шаге аутентификации SASL: аутентификация не удалась. паника: ошибка времени выполнения: неверный адрес памяти или разыменование нулевого указателя паника: ошибка времени выполнения: недопустимый адрес памяти или разыменование нулевого указателя
 Arjun Ajith03 авг. 2016 г., 15:12
Это сообщения об ошибках

в систему». Команда ожидает, что «Имя пользователя базы данных» не будет логином. Это одна возможность ввести неправильное имя пользователя. «Имя пользователя базы данных» можно найти на вкладке «Пользователи» для базы данных.

 ahaurat07 янв. 2018 г., 20:03
В моем случае я использовал свой пароль mLab вместо пароля db. Глупая ошибка, но этот ответ помог мне разобраться!

Ошибка, о которой вы сообщаете, кажется, что причина сбоя аутентификации вызвана нулевым указателем, вы должны проверить данные, прежде чем использовать их для создания соединения.

 Bestbug28 февр. 2018 г., 09:33
Ну, после более чем 1 года я не знаю точно, о чем я думал. Возможно, моя идея заключалась в том, что приложение Golang не может получить один или несколько env_variable с хоста.
 rrw27 февр. 2018 г., 08:00
Я не знаю, как ваш голос понял вас, но я уверен, что ничего не понял из вашего ответа. Разум более подробно?

Ваш ответ на вопрос