gpt4 book ai didi

MongoDB 创建备份和时间点恢复

转载 作者:可可西里 更新时间:2023-11-01 10:16:12 26 4
gpt4 key购买 nike

我是一名 SQL Server DBA,尝试在某些特定情况下使用 MongoDB。我现在拥有的是具有 2 个数据承载节点和 1 个仲裁器的 3 节点副本集。我目前正在努力的事情是找到一个明确的答案来创建备份,这将允许我进行时间点恢复,类似于您在 MS SQL 中使用 FULL 和 LOG 备份。我该怎么做?

最佳答案

Mongodb 提供了不同的备份和恢复方法

<强>1。使用 Atlas(基于云的 AWS 服务)备份

<强>2。使用 MongoDB Cloud Manager 或 Ops Manager 备份(仅限企业版。支持从图形用户界面备份和恢复 MongoDB 副本集和分片集群。)

<强>3。备份OS上的文件系统快照(在Linux上,逻辑卷管理器(LVM)可以创建快照。同样,Amazon的EC2的EBS存储系统支持快照)要获得正在运行的 mongod 进程的正确快照,您必须启用日记功能。如果不启用日记功能,则无法保证快照一致或有效。

要使用 LVM 创建快照,请以 root 身份按以下格式发出命令:

lvcreate --size 100M --snapshot --name mdb-snap01/dev/vg0/mongodb此命令为 vg0 卷组中的 mongodb 卷创建名为 mdb-snap01 的 LVM 快照(使用 --snapshot 选项)。

此示例创建位于/dev/vg0/mdb-snap01 的名为 mdb-snap01 的快照。系统卷组和设备的位置和路径可能会略有不同,具体取决于操作系统的 LVM 配置。

要恢复快照,请发出以下命令序列:

卸载/dev/vg0/mdb-snap01

lvcreate --size 1G --name mdb-new vg0

dd if=/dev/vg0/mdb-snap01 of=/dev/vg0/mdb-new

挂载/dev/vg0/mdb-new/srv/mongodb

了解更多详情 https://docs.mongodb.com/manual/tutorial/backup-with-filesystem-snapshots/#back-up-and-restore-using-lvm-on-linux

4.使用 mongodump(基于终端的 Mongodb 工具)备份

mongodump 和 mongorestore 是备份和恢复小型 MongoDB 部署的简单高效的工具

mongodump 和 mongorestore 针对正在运行的 mongod 进程运行

如果您不指定任何数据库,它会捕获所有数据库并将其与每个数据库的索引(json 格式)一起复制到单独的文件夹中

默认情况下,mongodump 不备份本地数据库(包含 Replicaset 配置和 oplog.rs 集合)。

对于副本集,mongodump 提供 --oplog 选项以将 mongodump 操作期间发生的输出 oplog 条目包含在其中。这允许相应的 mongorestore 操作重放捕获的 oplog。要恢复使用 --oplog 创建的备份,请使用带有 --oplogReplay 选项的 mongorestore。

Mongorestore 仅捕获数据库文件。恢复数据后必须重建索引。 https://docs.mongodb.com/manual/tutorial/backup-and-restore-tools/#

命令:

mongodump --out/data/backup/(它备份所有的数据库和索引)

mongodump --collection myCollection --db test(指定数据库&集合)mongorestore --端口

关于MongoDB 创建备份和时间点恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42697566/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com