在实际开发运维过程中,数据库的备份和恢复必不可少,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 的官网查看具体的使用方法。
网友评论