NextJS新手使用Prisma连接Mongo Atlas遇DNS解析错误求助
解决方案:Prisma push 时 MongoDB DNS 解析错误(os error 10051)
你遇到的错误信息如下:
Error: MongoDB error
An error occurred during DNS resolution: proto error: io error: A socket operation was attempted to an unreachable network. (os error 10051)
0: schema_core::commands::schema_push::Calculatefrom
at schema-engine\core\src\commands\schema_push.rs:43
1: schema_core::state::SchemaPush
at schema-engine\core\src\state.rs:433
针对你的情况,按以下步骤排查解决:
- 修正数据库URI拼写错误:你提供的URI前缀是
mongoddb+srv://,多了一个字母d,正确的前缀应该是mongodb+srv://,拼写错误会直接导致DNS解析失败。 - 验证URI中的账号密码:确保
.env文件里的DATABASE_URL已正确替换<username>和<password>,如果密码包含特殊字符(如@、$、&等),需要进行URL编码(比如@替换为%40,$替换为%24)。 - 测试网络连通性:
- 终端执行
ping portfolio.an371af.mongodb.net,检查是否能正常解析到IP地址 - 用
nc -zv portfolio.an371af.mongodb.net 27017(Windows可使用telnet)测试端口是否能连通,若不通说明本地网络或防火墙阻止了连接
- 终端执行
- 刷新本地DNS缓存:
- Windows:执行
ipconfig /flushdns - Mac:执行
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
- Windows:执行
- 确认Atlas集群状态:登录Mongo Atlas后台,检查你的
portfolio集群是否处于正常运行状态,没有维护或暂停的情况
内容的提问来源于stack exchange,提问作者devesh singh
相关产品推荐
相关产品推荐

