ubuntu

Ubuntu MongoDB数据备份与恢复方法

小樊
48
2025-05-14 04:07:20
栏目: 云计算

在Ubuntu系统中,可以使用mongodumpmongorestore命令来备份和恢复MongoDB数据库。以下是详细的步骤和命令示例:

备份MongoDB数据库

  1. 使用mongodump命令备份整个数据库

    mongodump --db 数据库名 --out 备份目录
    

    例如,要备份名为mydb的数据库到/backup目录,可以执行:

    mongodump --db mydb --out /backup
    
  2. 使用mongodump命令备份指定数据库

    mongodump --db 数据库名 --out 备份目录
    

    例如,要备份名为test的数据库到/backup/testdb目录,可以执行:

    mongodump --db test --out /backup/testdb
    
  3. 使用mongodump命令备份指定集合

    mongodump --db 数据库名 --collection 集合名 --out 备份目录
    

    例如,要备份名为test的数据库中的users集合到/backup/testdb/users目录,可以执行:

    mongodump --db test --collection users --out /backup/testdb/users
    
  4. 使用mongodump命令备份指定查询条件的文档

    mongodump --db 数据库名 --collection 集合名 --query "查询条件" --out 备份目录
    

    例如,要备份名为test的数据库中age大于30的文档到/backup/testdb/old_users目录,可以执行:

    mongodump --db test --collection users --query '{ "age" : { "$gt" : 30 } }' --out /backup/testdb/old_users
    
  5. 使用mongodump命令备份并压缩

    mongodump --db 数据库名 --out 备份目录 --archive .gz --gzip
    

    例如,要备份名为mydb的数据库并压缩为mydb.gz,可以执行:

    mongodump --db mydb --out /backup/mydb --archive .gz --gzip
    

恢复MongoDB数据库

  1. 使用mongorestore命令恢复整个数据库

    mongorestore --db 数据库名 备份目录
    

    例如,要从/backup目录恢复名为mydb的数据库,可以执行:

    mongorestore --db mydb /backup/mydb
    
  2. 使用mongorestore命令恢复指定数据库

    mongorestore --db 数据库名 备份目录/数据库名
    

    例如,要从/backup/testdb目录恢复名为test的数据库,可以执行:

    mongorestore --db test /backup/testdb/test
    
  3. 使用mongorestore命令恢复指定集合

    mongorestore --db 数据库名 备份目录/数据库名/集合名
    

    例如,要从/backup/testdb/test目录恢复名为users的集合,可以执行:

    mongorestore --db test /backup/testdb/test/users
    
  4. 使用mongorestore命令恢复指定查询条件的文档

    mongorestore --db 数据库名 备份目录/查询条件
    

    例如,要恢复名为test的数据库中age大于30的文档,可以执行:

    mongorestore --db test /backup/testdb/old_users
    
  5. 使用mongorestore命令恢复并删除现有数据(慎用):

    mongorestore --db 数据库名 备份目录 --drop
    

    例如,要恢复名为mydb的数据库并删除现有数据,可以执行:

    mongorestore --db mydb /backup/mydb --drop
    

请注意,在执行备份和恢复操作时,确保MongoDB服务器是可访问的,并且具有足够的权限。对于大型数据库,备份和恢复可能需要较长时间,建议在系统负载较低的时段执行这些操作。定期测试恢复流程,以确保在紧急情况下能够快速且正确地恢复数据。

0
看了该问题的人还看了