首页 >后端开发 >Golang >为什么我的 GoLang MongoDB 连接失败并显示'身份验证失败”?

为什么我的 GoLang MongoDB 连接失败并显示'身份验证失败”?

Linda Hamilton
Linda Hamilton原创
2024-12-04 12:21:10301浏览

Why Does My GoLang MongoDB Connection Fail with

MongoDB 拨号错误:“身份验证失败”

在尝试使用 mgo 包在 GoLang 中建立 MongoDB 连接时,许多用户遇到令人困惑的错误消息“服务器返回” SASL 身份验证步骤出错:身份验证失败。”此错误可能会令人沮丧,尤其是在已知所提供的用户名、密码、主机地址和数据库名称正确的情况下。要解决此问题,考虑以下解决方案至关重要。

解决方案:添加authenticationDatabase 参数

某些 MongoDB 设置需要在以下情况下包含 --authenticationDatabase 参数:建立连接。此参数指定用于身份验证目的的数据库。默认情况下,MongoDB 使用与您要连接的数据库名称相同的数据库名称。但是,在某些情况下,身份验证数据库可能会有所不同。

要解决该错误,请修改提供的 GoLang 代码以包含authenticationDatabase 参数,如下所示:

mongoDialInfo: = & mgo.DialInfo {
 Addrs: [] string {
  dbHost
 },
 Database: dbName,
 Username: userName,
 Password: password,
 AuthenticationDatabase: "admin", // Change this to the appropriate authentication database
 Timeout: 60 * time.Second,
}

确保AuthenticationDatabase 值与 MongoDB 设置中用于身份验证的正确数据库相匹配。通过实施此更改,您应该能够成功连接到 MongoDB 数据库并避免“身份验证失败”错误。

以上是为什么我的 GoLang MongoDB 连接失败并显示'身份验证失败”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn