美文网首页
MongoDB 数据备份与恢复

MongoDB 数据备份与恢复

作者: 岛上码农 | 来源:发表于2022-06-08 20:40 被阅读0次

在实际开发运维过程中,数据库的备份和恢复必不可少,MongoDB 也提供了对应的备份和恢复数据库命令,同时还支持从多种数据形式中导入数据。

数据备份指令 mongodump

使用 mongodump 指令可以将数据库导出为压缩包。使用前需要先安装官方提供的数据库工具,建议同时阅读官方提供的操作文档。下载解压后将里面的 bin 文件下的工具复制到 mongo 的安装目录的 bin目录下即可。下面的指令就是将 test 数据库导出为 test.backup.20210713:

# 指定数据库备份
mongodump --db=test --gzip --out="test.backup.20210713"
# 备份全部数据库
mongodump --gzip

导出的文件目录如下:


导出目录

数据恢复指令 mongorestore

我们先删除 test 数据库,再恢复。

 use test;
 db.dropDatabase();

恢复指令如下:

mongorestore --db test test.backup.20210713/test --drop --gzip;

新版本的指令可以使用--nsInclude 参数恢复整个数据库或某个数据集。

# 恢复 test 数据库
mongorestore --gzip --nsInclude="test.*" test.backup.20210713/
# 恢复 test.employees数据集
mongorestore --gzip --nsInclude="test.employees" test.backup.20210713/

导出 json 和 csv文件

使用 mongoexport 工具可以导出 json 或 csv 文件,其中导出 csv 必须要指定导出的字段。

mongoexport --collection=employees --db=test --out=employees.json
# 指定字段导出
mongoexport --collection=employees --db=test --fields=name,age,dept --out=employees_f.json
# 导出csv
mongoexport --collection=employees --db=test --fields=name,age,dept --type=csv --out=employees.csv

从 json和 csv 导入

导入使用 mongoimport 工具,从 json 导入时指定数据库和数据集,以及 json文件位置即可。

mongoimport --collection=employees --db=test employees.json

从 csv导入时也是类似的,只是需要指定参数--type=csv--fields 明确导入字段。

mongoimport --collection=employees --db=test --type=csv --fields=name,dept,age employees.csv

总结

本篇介绍了 MongoDB 的数据备份和恢复,导出数据集到 json、csv以及从 json 和 csv文件导入数据。MongoDB 还提供了更多的工具,感兴趣的掘友可以到 Mongo 的官网查看具体的使用方法。

相关文章

网友评论

      本文标题:MongoDB 数据备份与恢复

      本文链接:https://www.haomeiwen.com/subject/nvxpmrtx.html