You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoError认证失败求助:已排查常见操作仍无法连接Atlas

解决MongoError: bad auth: Authentication failed(AtlasError 8000)问题

问题描述

已完成修改密码、移除连接URI尖括号操作,确认用户名和密码无误,但从Linode服务器连接AWS托管的MongoDB Atlas时仍报错:

MongoError: bad auth: Authentication failed

连接URI示例(实际用户名/密码已替换):

mongodb+srv://user:pass@notlbot.iclv0tm.mongodb.net/?retryWrites=true&w=majority

报错堆栈信息:

at writeOrBuffer (node:internal/streams/writable:389:12)
     at _write (node:internal/streams/writable:330:10)
     at MessageStream.Writable.write (node:internal/streams/writable:334:10)
     at TLSSocket.ondata (node:internal/streams/readable:754:22) 
     at TLSSocket.emit (node:events:527:28)
     at addChunk (node:internal/streams/readable:315:12)
     at readableAddChunk (node:internal/streams/readable:289:9)
     at TLSSocket.Readable.push (node:internal/streams/readable:228:10)   
     at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23) {
     ok: 0,
     code: 8000,
     codeName: 'AtlasError'
 }

排查与解决步骤

  • 检查Atlas IP白名单:登录MongoDB Atlas控制台,进入目标集群的「Network Access」页面,将Linode服务器的公网IP添加到IP访问列表中。可临时添加0.0.0.0/0允许所有IP测试(测试完成后务必删除,保障安全)。
  • 转义密码中的特殊字符:如果密码包含@、:、/、+等URL特殊字符,必须进行URL编码后再放入连接URI。比如@替换为%40,:替换为%3A。
  • 验证数据库用户权限:确认在Atlas中创建的数据库用户已被分配目标数据库的读写权限(而非仅创建用户未配置权限)。进入「Database Access」页面,编辑用户权限,确保权限范围正确。
  • 升级MongoDB Node.js驱动:过旧的驱动版本可能与Atlas的认证机制不兼容,执行npm install mongodb@latest升级到最新稳定版。
  • 重新生成连接字符串:登录Atlas控制台,进入集群点击「Connect」→「Connect your application」,选择对应Node.js版本,复制自动生成的连接字符串,替换用户名和密码后直接使用,避免手动拼写错误。
  • 检查Linode服务器网络:确认Linode服务器的出站防火墙允许访问MongoDB Atlas的端口(默认27017),可通过telnet notlbot.iclv0tm.mongodb.net 27017测试连通性。

内容的提问来源于stack exchange,提问作者bruh5000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 05:15:32