mongodb导入导出

分享自己mongodb导出导入经验。将一个数据库数据备份,导入到另一个数据库。

mongodb的导入导出工具有版本限制,过旧的版本是不支持导入导出的。mongodb 4.2以后版本支持比较好。mongodb 3.4以前完全不支持。

1,下载

mongodb的导入导出需要自己下载工具,是由官方提供的。下载前根据自己服务器版本下载对应工具

linux查看服务器版本命令:

复制代码
dmidecode -t 1

mongodb的导入导出需要自己下载工具,是由官方提供的,下载地址如下:

复制代码
https://www.mongodb.com/try/download/bi-connector

2,官方中文文档

复制代码
https://www.mongodb.com/zh-cn/docs/database-tools/mongoexport/mongoexport-examples/

3,操作记录

服务器系统centos7 选择下载mongodb-database-tools-rhel70-x86_64-100.10.0.tgz

上传服务器/root目录并解压,创建导出目录

bash 复制代码
  tar -zxvf mongodb-database-tools-rhel70-x86_64-100.10.0.tgz
  mkdir /root/mongoexport

cd到bin目录:

bash 复制代码
cd mongodb-database-tools-rhel70-x86_64-100.10.0/bin

我选择远程带密码的方式备份数据库,这样工具可以与mongodb数据库不在同一服务器上。

如果在同一服务器可以不带ip和账号密码。

部分引用名称解释

db 数据库

collection 表

mongodump全部备份

在bin目录执行备份语句

bash 复制代码
./mongodump --host=<ip> --port=27017--username=<username> --password=<password> --authenticationDatabase=<authenticationDatabase>  --db=<db> --out=/root/mongoexport/mongodump-2024-09-26
mongorestore 恢复数据
bash 复制代码
./mongorestore --host=<ip> --port=27017--username=<username> --password=<password> --authenticationDatabase=<authenticationDatabase>  --db=<newdb>  /root/mongoexport/mongodump-2024-09-26/<db>
mongoexport 单表导出方式

URL方式远程导出

authSource和authenticationDatabase是一个值

bash 复制代码
./mongoexport --uri='mongodb://<username>:<password>@<ip>:27017/<db>?authSource=<authSource>' --collection=<collection> --out=/root/mongoexport/<collection>.json
mongoimport单表导入方式

URL方式远程导入

bash 复制代码
./mongoimport --uri='mongodb://<username>:<password>@<ip>:27017/<db>?authSource=<authSource>' --db=<db> --file==/root/mongoexport/<collection>.json

4 遇到过的问题

复制代码
    1,版本mongodb 3.4 不支持导入导出,建议升级版本
    2,导出需要足够存储空间,确定服务器存储资源充沛。
相关推荐
devmoon4 分钟前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡
认真的薛薛14 分钟前
数据库-sql语句
数据库·sql·oracle
爱学英语的程序员24 分钟前
面试官:你了解过哪些数据库?
java·数据库·spring boot·sql·mysql·mybatis
·云扬·1 小时前
MySQL Redo Log落盘机制深度解析
数据库·mysql
用户982863025682 小时前
pg内核实现细节
数据库
飞升不如收破烂~2 小时前
Redis 分布式锁+接口幂等性使用+当下流行的限流方案「落地实操」+用户连续点击两下按钮的解决方案自用总结
数据库·redis·分布式
workflower2 小时前
业务需求-假设场景
java·数据库·测试用例·集成测试·需求分析·模块测试·软件需求
亓才孓2 小时前
[JDBC]基于三层架构和MVC架构的JDBCTools
数据库
IT邦德2 小时前
RPM包快速安装Oracle26ai
数据库·oracle
Dovis(誓平步青云)2 小时前
《滑动窗口算法:从 “暴力遍历” 到 “线性高效” 的思维跃迁》
运维·服务器·数据库·算法