• MongoDB的备份和恢复


    工具

    mongodump 和 mongorestore是MongoDB自带的备份恢复工具。

    Starting with MongoDB 4.4, mongodump is now released separately from the MongoDB Server and uses its own versioning, with an initial version of 100.0.0. Previously, mongodump was released alongside the MongoDB Server and used matching versioning.

    参考文章

    1. ## 官网下载地址
    2. https://www.mongodb.com/try/download/database-tools
    3. ### 官网文档
    4. https://www.mongodb.com/docs/database-tools/mongodump/

    Mongodump工具

    使用这个工具会导致cpu和io都很高。建议在其他机器上进行备份,比如专门的备份机。

    备份

    mongodump 参数

    -h, --host=           MongoDB服务器的地址,默认为localhost
    -p, --port=               MongoDB服务器的端口号,默认为27017
    -d, --db=             需要备份的数据库名称
    -c, --collection=   需要备份的集合名称,不指定时默认备份全库
    -u, --username=       登录MongoDB服务器的用户名
        --password=       登录MongoDB服务器的密码
    -o, --out=           备份数据的目录路径
    -q, --query=             指定查询条件
    --ssl                           使用SSL连接到MongoDB服务器
    --sslCAFile=          SSL CA证书文件路径
    --sslPEMKeyFile=      SSL PEM证书文件路径
    --sslPEMKeyPassword=  SSL PEM证书密码
    --authenticationDatabase=  认证数据库的名称
    --gzip                          备份数据时使用gzip进行压缩
    --archive=            将备份数据保存到归档文件中
    --quiet                         禁止输出日志信息

    1. ## 备份库
    2. mongodump --port 27071 -d 库名 -o 备份文件路径
    3. ## 备份某个库中的集合
    4. mongodump --host 10.130.111.99 --port 27017--username admin --password 'xx' --db xxx --collection file --out /data/backup/mongodump20220321 --authenticationDatabase admin
    5. ## 备份库
    6. mongodump --host 10.130.111.99 --port 27017--username admin --password 'xx' --db xxx --collection file --out /data/backup/mongodump20220321 --authenticationDatabase admin

    恢复

    mongorestore 参数


        在MongoDB中,Mongorestore这个工具是用来做数据恢复的,数据恢复命令的常用参数如下:
     
    与mongodump重复的部分不再赘述
    -p,--port
    -h,--host
    -d,--db
    -c,--collection
    --dir:恢复文件存放的位置,如果指定了数据库文件夹或者集合文件,则只恢复当前数据库或者当前集合,如果没有指定,则恢复当前目录下所有备份数据。
    --drop:恢复前会删除已有的数据库
    -u,--user
    -p,--password
    --authenticationDatabase

    1. ##
    2. mongorestore -h 10.130.111.98:27017 -u admin -p 'xx' --db xxx /data/backup/mongodump20230629/aimind --authenticationDatabase admin
    3. ##

    物理备份

    想要保证复制的物理文件和真实的数据库文件一致,需要保证当前数据库没有写入。如果数据库有写入,则复制的数据是不准确的。所以,物理复制必须在MongoDB实例停机状态或者锁定状态下进行。一般来讲,在MongoDB集群中,我们会使用锁定从库的办法来进行备份。

    1. ## 通常情况下,使用:
    2. db.fsyncLock() 锁定从数据库。
    3. db.fsyncUnlock() 解锁数据库
    4. ##
    5. 锁定从节点的数据库之后,在从节点上使用物理文件拷贝的方式进行备份即可。
    6. 备份完成即可解锁数据库。

  • 相关阅读:
    基本数据类型----Python入门之玩转列表
    基于 Delphi 的前后端分离:之二
    [spring] spring core - 配置注入及其他内容补充
    JS 数据类型
    Java -- (part13)
    2022-10-20 C++并发编程( 三十五 )
    Matlab图像处理-分水岭算法
    51单片机ROM和RAM
    Dart 2.18 正式发布
    什么是nginx到底怎么配置,什么是网关到底怎么配置?
  • 原文地址:https://blog.csdn.net/knight_zhou/article/details/132797314