网络知识
MongoDB在Ubuntu上的备份与恢复流程
2025-07-08 17:03  点击:0

在Ubuntu上备份和恢复MongoDB数据库主要使用mongodumpmongorestore这两个命令行工具。以下是详细的备份与恢复流程:

备份流程
    安装MongoDB工具(如果尚未安装):
sudo apt updatesudo apt install -y mongodb-clients
    创建备份目录:选择一个合适的位置来存储备份文件,并创建一个目录。
sudo mkdir -p /backup/mongodb
    使用mongodump进行备份:
备份整个数据库:
mongodump --out /backup/mongodb/$(date +%Y%m%d%H%M%S)
备份特定数据库:
mongodump --db your_database_name --out /backup/mongodb/$(date +%Y%m%d%H%M%S)
备份特定集合:
mongodump --db your_database_name --collection your_collection_name --out /backup/mongodb/$(date +%Y%m%d%H%M%S)
备份特定查询条件的文档:
mongodump --db your_database_name --collection your_collection_name --query "查询条件" --out /backup/mongodb/$(date +%Y%m%d%H%M%S)
备份并压缩:
mongodump --db your_database_name --out /backup/mongodb/$(date +%Y%m%d%H%M%S) --archive .gz --gzip
恢复流程
    停止MongoDB服务:
sudo systemctl stop mongod
    使用mongorestore恢复数据:
恢复整个数据库:
mongorestore /backup/mongodb/$(date +%Y%m%d%H%M%S)
恢复特定数据库:
mongorestore --db your_database_name /backup/mongodb/$(date +%Y%m%d%H%M%S)/your_database_name
恢复特定集合:
mongorestore --db your_database_name --collection your_collection_name /backup/mongodb/$(date +%Y%m%d%H%M%S)/your_database_name/your_collection_name.bson
恢复特定查询条件的文档:
mongorestore --db your_database_name /backup/mongodb/$(date +%Y%m%d%H%M%S)/old_users
恢复并删除现有数据(慎用):
mongorestore --db your_database_name /backup/mongodb/$(date +%Y%m%d%H%M%S) --drop
    重新启动MongoDB服务:
sudo systemctl start mongod
    验证备份:可以使用mongorestore命令来验证备份文件的完整性,或者使用mongo shell连接到MongoDB实例,并检查数据是否已成功恢复。
mongo yourDatabaseName
注意事项确保在执行备份和恢复操作时,MongoDB服务正在运行或已停止。备份文件应存储在安全的位置,以防止数据丢失。定期进行备份,并测试恢复过程以确保备份的完整性。如果使用了认证,确保在备份和恢复命令中提供正确的用户名和密码。

通过以上步骤,你可以在Ubuntu上成功备份和恢复MongoDB数据库。记得定期检查和测试你的备份,以确保在需要时可以成功恢复数据。