Open-IM-Server连接MongoDB失败:SCRAM-SHA-1认证错误求助
解决Open-IM-Server连接MongoDB的SCRAM-SHA-1认证失败问题
核对账号密码准确性
确认Open-IM配置文件中填写的MongoDB账号、密码与MongoDB实例中创建的账号完全匹配,注意区分大小写、特殊字符的转义。可以先用MongoDB Shell直接测试连接验证:mongo "mongodb://<username>:<password>@<host>:<port>/<target_db>?authSource=admin"如果Shell连接也失败,优先排查账号密码错误。
验证账号权限
登录MongoDB的admin数据库,检查目标账号的权限配置:use admin db.getUser("<your_username>")确保该账号对Open-IM使用的数据库拥有
readWrite权限,若权限不足,执行以下命令赋予:use <open_im_database> db.grantRolesToUser("<your_username>", [{ role: "readWrite", db: "<open_im_database>" }])检查MongoDB认证机制配置
查看MongoDB的配置文件(如mongod.conf),确认已启用SCRAM-SHA-1认证机制:security: authorization: enabled setParameter: authenticationMechanisms: SCRAM-SHA-1,SCRAM-SHA-256若配置中缺少SCRAM-SHA-1,添加后重启MongoDB服务。
修正连接字符串格式
确保Open-IM配置里的MongoDB连接字符串正确指定了认证源(通常为admin库),示例格式:mongodb://<username>:<password>@<host>:<port>/<open_im_db>?authSource=admin遗漏
authSource参数是常见的认证失败原因。重置账号密码
若以上步骤均无效,尝试重置目标账号的密码:use admin db.changeUserPassword("<your_username>", "<new_secure_password>")更新Open-IM配置文件中的密码后,重启Open-IM服务测试连接。
内容的提问来源于stack exchange,提问作者l mf
相关产品推荐
相关产品推荐

