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

Windows系统下mongodump备份MongoDB Atlas失败求助

解决Windows下mongodump连接MongoDB Atlas的崩溃问题

我帮你分析下这个问题——你遇到的是mongodump工具在Windows系统下解析Atlas的SRV记录时触发的系统调用崩溃,从报错栈能明显看到问题卡在syscall.DnsQuery这一步。根源是你当前使用的mongotools版本是用较旧的Go 1.12编译的,这个版本的Go在Windows平台的DNS解析逻辑存在兼容性问题,和现代Windows系统的DNS库交互时容易触发崩溃。

具体修复方案

  • 升级mongotools到最新稳定版:这是最彻底的解决办法。MongoDB官方已经更新了工具链,使用更高版本的Go(比如Go 1.18+)重新编译了MongoDB Database Tools套件,修复了Windows下的DNS解析bug。你直接去MongoDB官网下载对应Windows版本的套件,替换掉当前的旧版mongodump即可。
  • 绕开SRV解析,使用标准连接字符串:如果暂时无法升级工具,可以手动指定Atlas的节点地址来跳过SRV解析步骤:
    1. 登录MongoDB Atlas控制台,找到你的目标集群
    2. 点击「Connect」,选择「Connect with MongoDB Compass」
    3. 在连接字符串选项中切换到「Standard connection string」模式
    4. 复制这个不带srv前缀的连接字符串,替换掉你原来的mongodb+srv://格式URI,再执行mongodump备份
  • 检查系统DNS配置:尝试切换到公共DNS服务(比如8.8.8.8或223.5.5.5),有时候本地DNS的异常也会导致工具在解析SRV记录时出现崩溃。

你的报错栈信息

PC=0x2360000 signal arrived during external code execution
syscall.loadsystemlibrary(0xc000018be0, 0xc00001c740, 0x0, 0x0) c:/golang/go1.12/src/runtime/syscall_windows.go:137 +0x11d
syscall.LoadDLL(0xbcbd8f, 0xa, 0xc000004180, 0x469231, 0xc000116e18) c:/golang/go1.12/src/syscall/dll_windows.go:80 +0x168
syscall.(*LazyDLL).Load(0xc000004180, 0x0, 0x0) c:/golang/go1.12/src/syscall/dll_windows.go:236 +0xa9
syscall.(*LazyProc).Find(0xc000057710, 0x0, 0x0) c:/golang/go1.12/src/syscall/dll_windows.go:291 +0xa4
syscall.(*LazyProc).mustFind(0xc000057710) c:/golang/go1.12/src/syscall/dll_windows.go:309 +0x32
syscall.(*LazyProc).Addr(0xc000057710, 0x2b) c:/golang/go1.12/src/syscall/dll_windows.go:318 +0x32
syscall._DnsQuery(0xc000054240, 0x21, 0x0, 0xc000117020, 0x0, 0x0, 0x0) c:/golang/go1.12/src/syscall/zsyscall_windows.go:1699 +0x3b
syscall.DnsQuery(0xc00001a570, 0x2b, 0x21, 0x0, 0xc000117020, 0x0, 0x8, 0x30000) c:/golang/go1.12/src/syscall/zsyscall_windows.go:1695 +0xb5
net.(*Resolver).lookupSRV(0x12d8800, 0xe821e0, 0xc00001e2a8, 0xbca98c, 0x7, 0xbc9af6, 0x3, 0xc000022117, 0x1d, 0x0, ...) c:/golang/go1.12/src/net/lookup_windows.go:229 +0x10c
net.LookupSRV(0xbca98c, 0x7, 0xbc9af6, 0x3, 0xc000022117, 0x1d, 0xe76820, 0xc000005c20, 0x12d9e60, 0x2190008, ...) c:/golang/go1.12/src/net/lookup.go:396 +0xad
github.com/mongodb/mongo-tools/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/dns.(*Resolver).fetchSeedlistFromSRV(0xa8bfa0, 0xc000022117, 0x1d, 0x1, 0x0, 0x0, 0xc0001e6650, 0x1, 0x1) C:/data/mci/809418cde33d2ca64c5cf3e779268efd/src/github.com/mongodb/mongo-tools/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/dns/dns.go:78 +0xb6
github.com/mongodb/mongo-tools/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/dns.(*Resolver).ParseHosts(0xa8bfa0, 0xc000022117, 0x1d, 0x1, 0x0, 0x0, 0xc0001e6640, 0x1, 0x1) C:/data/mci/809418cde33d2ca64c5cf3e779268efd/src/github.com/mongodb/mongo-tools/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/dns/dns.go:34 +0x157
github.com/mongodb/mongo-tools/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/connstring.(*parser).parse(0xc0000d8840, 0xc0000220f0, 0x44, 0x203000000000000, 0x21effff) C:/data/mci/809418cde33d2ca64c5cf3e779268efd/src/github.com/mongodb/mongo-tools/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/connstring/connstring.go:257 +0xdb0
github.com/mongodb/mongo-tools/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/connstring.Parse(0xc0000220f0, 0x44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) C:/data/mci/809418cde33d2ca64c5cf3e779268efd/src/github.com/mongodb/mongo-tools/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/connstring/connstring.go:44 +0xbe
github.com/mongodb/mongo-tools/vendor/github.com/mongodb/mongo-tools-common/options.(*ToolOptions).NormalizeOptionsAndURI(0xc00019f970, 0x0, 0x0) C:/data/mci/809418cde33d2ca64c5cf3e779268efd/src/github.com/mongodb/mongo-tools/vendor/github.com/mongodb/mongo-tools-common/options/options.go:504 +0x125
github.com/mongodb/mongo-tools/vendor/github.com/mongodb/mongo-tools-common/options.(*ToolOptions).ParseArgs(0xc00019f970, 0xc000005bc0, 0x0, 0x0, 0xe7fca0, 0x28, 0xbf0cb7, 0x145, 0x101010101) C:/data/mci/809418cde33d2ca64c5cf3e779268efd/src/github.com/mongodb/mongo-tools/vendor/github.com/mongodb/mongo-tools-common/options/options.go:447 +0x14f
github.com/mongodb/mongo-tools/mongodump.ParseOptions(0xc000026150, 0x2, 0x3, 0xe66cc8, 0x7, 0xe7fca0, 0x28, 0x40d2e3, 0xc000051ab0, 0x10, ...) C:/data/mci/809418cde33d2ca64c5cf3e779268efd/src/github.com/mongodb/mongo-tools/mongodump/options.go:88 +0x14e
main.main() C:/data/mci/809418cde33d2ca64c5cf3e779268efd/src/github.com/mongodb/mongo-tools/mongodump/main/mongodump.go:33 +0xb2
goroutine 6 [syscall]:
os/signal.signal_recv(0x0) c:/golang/go1.12/src/runtime/sigqueue.go:139 +0xa3
os/signal.loop() c:/golang/go1.12/src/os/signal/signal_unix.go:23 +0x29
created by os/signal.init.0 c:/golang/go1.12/src/os/signal/signal_unix.go:29 +0x48
rax 0x7ffb1d3f4c42 rbx 0x7ffb1d3f4c40 rcx 0x5f rdi 0xffffffffffbadd11 rsi 0x0 rbp 0x2235e90 rsp 0x218f3b0 r8 0x0 r9 0x0 r10 0x0 r11 0x94b r12 0x7ffb20f40000 r13 0x0 r14 0x7ffb1d3f4c42 r15 0xc000007a rip 0x2360000 rflags 0x10206 cs 0x33 fs 0x53 gs 0x2b

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 16:07:41