Сервер ответил на шаге аутентификации 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)
}
Ответы
Ответ 1
Я столкнулся с подобной ошибкой и добавил параметр --authenticationDatabase
, и он работал, когда мы подключались к удаленному MongoDB
Используйте код, подобный ниже, в вашем коде:
$mongorestore --host databasehost:98761 --username restoreuser
--password restorepwd --authenticationDatabase admin --db targetdb ./path/to/dump/
Ответ 2
Часто мы путаем параметр в команде mongoexport с пользователем "Log-In".
Команда ожидает, что "Имя базы данных" не будет использоваться для входа в систему.
Это одна из возможностей ввода неправильного имени пользователя.
"Имя базы данных" можно найти на вкладке "Пользователи" для базы данных
Ответ 3
mgo
возвращает эту ошибку, если ошибки username
, password
или database
неверны. Проверьте свои учетные данные дважды. Нет других ситуаций, когда вы можете увидеть сообщение об ошибке Authentication failed
.
Ответ 4
Я получил ответ по этой ссылке: https://newbiedba.wordpress.com/2016/11/21/mongodb-3-2-server-returned-error-on-sasl-authentication-step-authentication-failed/
За исключением всех ответов выше, единственная не упомянутая причина заключается в том, что в моем пароле есть специальный символ "$". Я думаю, что это очень распространенная практика иметь специальные символы, и это может сбить с толку многих без этого простого совета:
При использовании командной строки mongo/mongostat/etc.. Одиночная кавычка ваше имя пользователя или пароль, который имеет специальные символы!
Ответ 5
Ошибка, о которой вы сообщаете, кажется причиной сбоя аутентификации, вызвана указателем nil, вы должны проверить данные перед их использованием для создания соединения
Ответ 6
У меня была такая же ошибка при использовании с dokku mongo: import. В моем случае я включил точку (точку) в мое имя базы данных
Вы не должны включать точку в вашем имени mongodb, когда "dokku mongo: create"
Я изменил его на seunghunlee вместо seunghunlee.net
теперь эта команда работает
dokku mongo:import seunghunlee < seunghunlee.net.dump.gz
Надеюсь, это поможет!
Ответ 7
Я смог выполнить экспорт, используя вместо этого --uri
.
Примером может быть mongoexport --uri "mongodb://mongodb0.example.com:27017/reporting" --collection events --out events.json [additional options]
Обратитесь к документам здесь.