基于Docker的MongoDB数据export和import

32 篇文章 1 订阅
14 篇文章 0 订阅

之前有命令如cloneCollection、cloneDatabase,随着版本更新,逐渐被废弃,目前官方推荐的导出导入方式为mongoexport和mongoimport两个命令
以下方式适用于使用docker部署mongodb的方式

mongoexport

# 进入容器,注意是进入容器,而不启动mongo shell
>>> docker exec -it mongo /bin/sh
# 由于数据库使用了用户名密码验证,所以多了authenticationDatabase、username、password三个参数
>>> mongoexport --collection=web_market_information --db=web_data --authenticationDatabase=web_data --username=user --password=12345 --out=web_market_information.json
2021-04-25T02:28:51.196+0000	connected to: mongodb://localhost/
2021-04-25T02:28:51.221+0000	exported 1229 records
>>> exit
# 将容器中的文件拷贝出来
>>> docker cp mongo:/web_market_information.json .

数据转移

如果是两台服务器,则需要将文件移动至目标服务器

>>> scp web_market_information.json pi@10.8.15.51:/home/pi
pi@10.8.15.51's password:
web_market_information.json                                                                                                                                                                               100% 1171KB  40.7MB/s   00:00

mongoimport

# 将文件拷贝至容器
>>> docker cp web_market_information.json mongo0:/
# 由于数据库使用了用户名密码验证,所以多了authenticationDatabase、username、password三个参数
# 进入容器,注意是进入容器,而不启动mongo shell
>>> docker exec -it mongo /bin/sh
>>> mongoimport --authenticationDatabase=web_data --username=user --password=12345  --collection=web_market_information.json --db=web_data --file=web_market_information.json
2021-04-25T03:01:07.650+0000	connected to: mongodb://localhost/
2021-04-25T03:01:08.209+0000	1229 document(s) imported successfully. 0 document(s) failed to import.

注意:导入副本集的操作需要在副本集的主节点进行

参考:
https://docs.mongodb.com/v4.2/reference/program/mongoimport/
https://docs.mongodb.com/v4.2/reference/program/mongoexport/

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值