MongoDB的数据备份主要有以下方式:
- 数据库备份:使用mongodump备份整个数据库数据,包括集合及其索引。
语法:
mongodump -d db_name -o db_backup
- 集合备份:使用mongodump备份指定的集合。
语法:
mongodump -d db_name -c collection_name -o collection_backup
- 增量备份:首次采用mongodump备份全量数据,后续只备份时间戳之后的变更数据。
首次全备:
mongodump -d db_name -o db_initial_backup
增量备份:
mongodump -d db_name --dumpDbUsersAndRoles --authenticationDatabase admin -c collection_name --query '{ "_ts" : { "$gt" : timestamp } }' -o incremental_backup
- 二进制文件拷贝:直接拷贝MongoDB数据文件进行备份,速度快但不可跨平台还原。
还原数据主要使用mongorestore命令,将备份数据还原到MongoDB中。
语法:
mongorestore -d db_name db_backup
示例:
# 备份test数据库
mongodump -d test -o ./test_backup
# 删除test数据库
mongo test --eval "db.dropDatabase()"
# 还原test数据库
mongorestore -d test ./test_backup