Windows下复制MongoDB旧数据文件仅显示默认库 如何恢复原有数据库
MongoDB旧数据文件恢复业务数据库操作方案
前置检查项
- 确认新安装的MongoDB大版本号与原设备的MongoDB版本完全一致,跨大版本直接迁移数据文件会出现元数据不兼容无法识别库的问题
- 确认你取回的旧数据文件夹完整:包含
WiredTiger.wt等引擎核心文件、所有业务库对应的.wt文件、journal目录下的所有日志文件
操作步骤
- 停止MongoDB服务
打开管理员权限的命令提示符,执行命令:net stop MongoDB
也可以直接在Windows服务列表中找到MongoDB服务右键选择停止 - 配置文件夹权限
右键点击E:\data\MongoDB\data文件夹,选择「属性-安全」,给MongoDB服务运行账号(默认是NETWORK SERVICE)赋予「完全控制」权限,避免因权限不足无法读取数据文件 - 校验MongoDB配置
打开MongoDB安装目录下的bin/mongod.cfg配置文件,确认如下配置:
确认配置无误后保存文件storage: dbPath: E:\data\MongoDB\data engine: wiredTiger # 与原MongoDB使用的存储引擎保持一致 - 修复损坏的存储元数据
打开管理员权限命令提示符,执行修复命令:mongod --dbpath "E:\data\MongoDB\data" --repair
等待命令执行完成,中间不要中断操作 - 重启MongoDB服务验证
执行命令启动服务:net start MongoDB
启动完成后使用mongosh连接MongoDB实例,执行show dbs即可看到恢复的业务数据库
注意事项
- 所有操作前先将取回的原始旧数据文件夹备份一份,避免修复操作损坏原始文件
- 如果原设备系统崩溃时MongoDB处于运行状态,数据文件可能存在脏数据,必须执行repair步骤才能正常加载
- 若执行后仍无法看到业务库,可查看MongoDB日志文件(路径在
mongod.cfg的systemLog.path配置项中),根据报错信息针对性解决
内容的提问来源于stack exchange,提问作者gamini2006
相关产品推荐
相关产品推荐

