MongoDB 数据导出与导入实战指南(附完整命令)

1. 场景说明

在 MongoDB 运维中,数据备份与恢复是核心操作。本文使用 mongodumpmongorestore 工具,演示如何通过命令行导出和导入数据,解决副本集连接、路径指定等关键问题


2. 数据导出(mongodump)
2.1 导出命令详解
bash 复制代码
mongodump --uri="mongodb://root:Dsy%40123@dds-uf66dd9c38f2a41756-pub.mongodb.rds.aliyuncs.com:3717,dds-uf66dg9c38f2a42679-pub.mongodb.rds.aliyuncs.com:3717/admin?maxPoolSize=20&minPoolSize=1&replicaSet=mgset-70730161" --out=/Volumes/work/mongo
  • 参数解析

    • --uri:连接字符串

    • --out:导出数据存储路径,默认生成 dump 文件夹,此处指定为 /Volumes/work/mongo

2.2 验证导出结果
bash 复制代码
# 查看备份文件结构
ls /Volumes/work/mongo
  • 正常输出应包含子目录(以数据库名命名)及 .bson.metadata.json 文件。
3. 数据导入(mongorestore)
3.1 导入命令详解
复制代码
mongorestore --uri="mongodb://admin:Xdsdsu%40123@143.223.43.130:217/admin" /Volumes/work/mongo
  • 参数解析

    • --uri:目标数据库连接字符串

    • 末尾路径 :必须指定备份文件根目录(即 mongodump --out 的路径),工具会自动识别子目录中的数据库。

4. 常见问题 FAQ

Q1:导入时提示 Failed: error connecting to DB server

  • 检查目标 MongoDB 服务是否运行,防火墙是否放行端口(如 27017)。

  • 确认用户名、密码及转义符是否正确。

Q2:如何仅导入指定数据库或集合?

  • 导入单个数据库:在路径后追加数据库目录名:

    bash 复制代码
    mongorestore --uri="..." /Volumes/work/mongo/<database_name>
  • 导入单个集合 :添加 --nsInclude 参数:

    bash 复制代码
    mongorestore --uri="..." --nsInclude=<database_name>.<collection_name> /Volumes/work/mongo

Q3:备份文件过大,如何压缩?

  • 导出时添加 --gzip

    bash 复制代码
    mongodump --uri="..." --gzip --out=/path/to/dump
  • 导入时自动解压:

    bash 复制代码
    mongorestore --uri="..." --gzip /path/to/dump
相关推荐
骇客野人4 小时前
mysql笛卡尔积怎么形成的怎么避免笛卡尔积
数据库·mysql
m0_564264184 小时前
IDEA DEBUG调试时如何获取 MyBatis-Plus 动态拼接的 SQL?
java·数据库·spring boot·sql·mybatis·debug·mybatis-plus
隐语SecretFlow6 小时前
隐语SecreFlow SCQL 1.0.0b1 发布:更完善的 SQL 支持与更高效的隐私查询引擎
数据库·sql
ttghgfhhjxkl6 小时前
文档搜索引擎搜索模块的索引更新策略:实时增量与全量重建设计
数据库·搜索引擎
老华带你飞6 小时前
机器人信息|基于Springboot的机器人门户展示系统设计与实现(源码+数据库+文档)
java·数据库·spring boot·机器人·论文·毕设·机器人门户展示系统
StarRocks_labs6 小时前
StarRocks 在 Cisco Webex 的探索与实践
数据库·starrocks·json·存算分离·olap 技术栈
notion20256 小时前
Adobe Lightroom Classic下载与安装教程(附安装包) 2025最新版详细图文安装教程
java·数据库·其他·adobe
楚枫默寒7 小时前
mongodb备份脚本(单机+副本集)
数据库
小蒜学长7 小时前
springboot酒店客房管理系统设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端
准时准点睡觉8 小时前
window安装MYSQL5.5出错:a windows service with the name MYSQL alreadyexists....
数据库·windows·mysql