在尝试使用 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中文网其他相关文章!