Debian上MongoDB数据恢复方法有哪些
导读:Debian上MongoDB数据恢复方法 一 方法总览与选择建议 mongorestore 恢复 BSON 备份:使用 mongodump 生成的目录或 .bson/.metadata.json 文件进行恢复,适合完整库/集合级恢复,保留...
Debian上MongoDB数据恢复方法
一 方法总览与选择建议
- mongorestore 恢复 BSON 备份:使用 mongodump 生成的目录或 .bson/.metadata.json 文件进行恢复,适合完整库/集合级恢复,保留类型与索引,支持按库、按集合定向恢复。
- 文件级拷贝恢复数据文件:将备份的 /var/lib/mongodb 数据目录(WiredTiger 存储引擎)整体拷贝回原路径,需停库、保持版本一致,适合整机级灾难恢复。
- mongoimport 导入 JSON/CSV:从 mongoexport 导出的 JSON/CSV 恢复,适合跨版本迁移、部分集合或特定文档形态的数据导入,注意类型精度与索引需重建。
二 方法一 mongorestore 恢复 BSON 备份(推荐)
- 准备与安装工具
- 确认已安装数据库工具包(包含 mongorestore)。Debian 可安装 mongodb-database-tools 的 .deb 包,或下载 .tgz 解压后将二进制放入 /usr/local/bin。
- 验证版本:mongorestore --version,建议与服务器版本兼容。
- 基本用法
- 恢复全量:mongorestore /path/to/backup/2025-12-19
- 恢复到指定库:mongorestore --db mydb /path/to/backup/2025-12-19/mydb
- 恢复到指定集合:mongorestore --db mydb --collection mycol /path/to/backup/2025-12-19/mydb/mycol.bson
- 按查询条件恢复集合子集:mongorestore --db mydb --collection mycol --query ‘{ status:“active”} ’ /path/to/backup/2025-12-19/mydb/mycol.bson
- 覆盖目标数据:添加 –drop(恢复前删除同名集合,谨慎使用)。
- 压缩备份:若备份时使用 –gzip,恢复时同样加 –gzip。
- 示例
- mongorestore --host 127.0.0.1 --port 27017 --db sales /backup/mongo/2025-12-19/sales
三 方法二 文件级拷贝恢复数据目录(WiredTiger)
- 适用场景:整实例/整数据目录级别的恢复,或跨磁盘/新机器快速回滚。
- 操作步骤
- 停止服务:sudo systemctl stop mongod(或 sudo service mongod stop)
- 备份当前数据目录(如有必要):sudo mv /var/lib/mongodb /var/lib/mongodb.bak_$(date +%F)
- 拷贝备份数据到数据目录:sudo cp -a /backup/mongodb-2025-12-19 /var/lib/mongodb
- 修正权限(Debian 常见运行用户为 mongodb):sudo chown -R mongodb:mongodb /var/lib/mongodb
- 启动服务:sudo systemctl start mongod
- 重要说明
- 仅适用于相同 MongoDB 主要版本 的恢复,避免跨大版本直接拷贝数据文件。
- 建议恢复前对现有实例做好备份,避免不可逆覆盖。
四 方法三 mongoimport 导入 JSON/CSV
- 适用场景:从 mongoexport 导出的 JSON/CSV 文件恢复,适合跨版本迁移、部分集合或特定文档形态的数据导入。
- 基本用法
- 导出示例:mongoexport -d mydb -c users -o users.json --type json
- 导入示例:mongoimport -d mydb -c users --file users.json --type json
- CSV 导入:mongoimport -d mydb -c logs --file logs.csv --type csv --headerline -f ts,level,msg
- 注意事项
- JSON/CSV 为逻辑导出,默认不携带索引与部分类型信息,导入后需按需重建索引与验证数据。
五 实践建议与常见问题
- 版本匹配与工具安装:确保 mongorestore/mongoimport 与 mongod 版本兼容;Debian 可通过 .deb 或 .tgz 安装数据库工具包。
- 一致性优先:在线业务建议选择 mongorestore 在线导入,避免直接替换数据目录;如采用文件拷贝法,务必先停库。
- 空间与带宽:BSON 备份/恢复占用较大 磁盘空间 与 网络带宽,大库建议在本地或同网段执行。
- 恢复策略:重要操作前先对现有实例做备份;按库/按集合恢复时核对 –db/–collection 与目录结构;使用 –drop 前确认目标数据可丢弃。
- 权限与目录:确保备份与数据目录的 文件系统权限 正确(常见运行用户为 mongodb)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian上MongoDB数据恢复方法有哪些
本文地址: https://pptw.com/jishu/776048.html
