📜  MongoDB – 备份和恢复

📅  最后修改于: 2022-05-13 01:56:58.406000             🧑  作者: Mango

MongoDB – 备份和恢复

数据备份是任何数据库管理系统最需要的过程之一,因为数据可能会丢失或损坏,以克服我们需要数据库备份的这些缺点。数据库备份是已经存在的数据库的副本。在 MongoDB 中,使用mongodump工具进行数据备份。 mongorestore工具用于恢复备份数据。

数据备份

在 MongoDB 中,使用mongodump工具进行数据备份。它只是将存储的所有数据转储到 MongoDB 的转储目录中。备份数据采用 BSON 格式,也称为 BSON 数据转储。默认情况下,备份存储在 mongodb 的 bin\dump 文件夹中,我们可以使用 –out 选项指定不同的输出目录。 Mongodump 以两种方式使用或不带参数。

没有参数:

在没有任何参数的情况下,mongodump 在端口 27017 上连接本地系统上的 MongoDB 实例,并创建每个数据库和每个集合的备份。

mongodump

带参数:



通过在参数中指定数据库,我们可以限制存储在数据库转储中的数据量

mongodump --db databaseName --collection collectionName

要指定不同的输出目录,我们可以使用 –out 选项:

示例 1:备份所有数据库

这里我们有 10 个数据库,它们都备份在文件夹 backupDatabase 中。

注意– 通过 ctrl+c 退出 mongo shell 以使用 mongodump命令。

mongodump --out c:\backupDatabase

示例 2:备份指定集合



在这里,我们正在对 GeeksForGeeks 数据库中包含 6 个文档的集合 student 进行备份,备份在 GFGbackup 文件夹中。

数据恢复

在 MongoDB 中, mongorestore实用程序用于恢复备份数据。它恢复由 mongodump 实用程序创建的二进制备份(即 BSON 数据转储)。它可以恢复整个数据库备份或备份的子集。它还恢复为该数据库内的任何集合创建的索引。默认情况下,mongorestore 在 mongodb 的 bin\dump 文件夹中查找数据库备份,该文件夹也是 mongodump 命令用于转储备份的默认文件夹。

要恢复所有数据库使用 -

mongorestore dump

要恢复特定的集合使用-

例子:

在这个例子中,我们使用了一个数据库 GeeksForGeeks,它有 4 个集合。我们首先要备份学生收藏,然后删除学生收藏,然后恢复学生收藏。

为了进行备份,我们使用 -



mongodump --db GeeksForGeeks --collection students --out c:\GFGbackup 

备份将存储在 c:\GFGbackup 文件夹中

现在我们将使用以下方法删除学生收集 -

db.students.drop() 

现在我们将使用 -