Loading...
墨滴

岛上码农@公众号同名

2021/09/11  阅读:56  主题:默认主题

MongoDB 数据备份与恢复

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

数据备份指令 mongodump

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

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

导出的文件目录如下: image.png

数据恢复指令 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 的官网查看具体的使用方法。 关注岛上码农

岛上码农@公众号同名

2021/09/11  阅读:56  主题:默认主题

作者介绍

岛上码农@公众号同名