MongoDB 3.6启动报错minidump路径错误,请求修改路径方法
解决MongoDB 3.6启动时访问旧版本minidump路径的权限错误
你遇到的问题本质是卸载MongoDB 3.2后,残留的配置让3.6版本的mongod还在试图访问旧路径生成minidump文件,而且路径拼接还出了问题——把3.2的版本号和日期直接连在一起变成了3.2018-02-18T17-02-35.mdmp,系统找不到这个不存在的路径,就抛出了"Access is denied"的错误。下面是几个针对性的解决步骤:
1. 检查MongoDB服务的启动参数
Windows上的MongoDB服务大概率还保留着旧版本的配置参数,你可以这么操作:
- 按下
Win + R输入services.msc打开服务管理器 - 找到MongoDB服务(通常命名为
MongoDB或MongoDB Server 3.6),右键选择「属性」 - 查看「可执行文件的路径」一栏,看看有没有类似
--dump-path "C:\Program Files\MongoDB\Server\3.2"的参数 - 如果有,把路径改成3.6版本的安装目录(比如
C:\Program Files\MongoDB\Server\3.6),或者直接移除这个参数(MongoDB会默认在合适的位置生成minidump)
2. 检查mongod配置文件
3.6版本的mongod.cfg可能继承了旧配置,或者卸载时没更新:
- 找到3.6安装目录下的
bin/mongod.cfg文件(默认路径是C:\Program Files\MongoDB\Server\3.6\bin) - 打开文件后搜索
dumpPath或和故障转储相关的配置项 - 如果发现指向3.2版本的路径,修改为3.6的路径,或者用
#注释掉该配置行
3. 清理注册表残留
卸载MongoDB 3.2时可能没彻底清除注册表中的旧配置:
- 按下
Win + R输入regedit打开注册表编辑器(操作前建议备份注册表,避免误操作) - 导航到
HKEY_LOCAL_MACHINE\SOFTWARE\MongoDB Inc.\MongoDB,检查里面的Install Path或其他路径配置是否还是3.2的 - 同样检查
HKEY_CURRENT_USER\Software\MongoDB Inc.\MongoDB下的相关项,把旧路径改成3.6的或者删除无效项
4. 理解路径拼接错误的根源
那个奇怪的3.2018-02-18T17-02-35.mdmp文件名,本质是旧路径C:\Program Files\MongoDB\Server\3.2和日期字符串拼接时没加分隔符,导致版本号和日期连在了一起。上面的步骤解决旧路径配置后,这个拼接错误也会跟着消失。
完成以上操作后,重启MongoDB服务或者重新启动mongod,应该就不会再出现这个权限错误了。
内容的提问来源于stack exchange,提问作者Gaboik1
相关产品推荐
相关产品推荐

