MongoDB – 备份和恢复
数据备份是任何数据库管理系统最需要的过程之一,因为数据可能会丢失或损坏,以克服我们需要数据库备份的这些缺点。数据库备份是已经存在的数据库的副本。在 MongoDB 中,使用mongodump工具进行数据备份。 mongorestore工具用于恢复备份数据。
数据备份
在 MongoDB 中,使用mongodump工具进行数据备份。它只是将存储的所有数据转储到 MongoDB 的转储目录中。备份数据采用 BSON 格式,也称为 BSON 数据转储。默认情况下,备份存储在 mongodb 的 bin\dump 文件夹中,我们可以使用 –out 选项指定不同的输出目录。 Mongodump 以两种方式使用或不带参数。
没有参数:
在没有任何参数的情况下,mongodump 在端口 27017 上连接本地系统上的 MongoDB 实例,并创建每个数据库和每个集合的备份。
mongodump
带参数:
通过在参数中指定数据库,我们可以限制存储在数据库转储中的数据量
mongodump --db databaseName --collection collectionName
要指定不同的输出目录,我们可以使用 –out 选项:
mongodump –db databaseName –collection collectionName –out c:\backup
示例 1:备份所有数据库
这里我们有 10 个数据库,它们都备份在文件夹 backupDatabase 中。
注意– 通过 ctrl+c 退出 mongo shell 以使用 mongodump命令。
mongodump --out c:\backupDatabase
示例 2:备份指定集合
在这里,我们正在对 GeeksForGeeks 数据库中包含 6 个文档的集合 student 进行备份,备份在 GFGbackup 文件夹中。
mongodump –db GeeksForGeeks –collection students –out c:\GFGbackup
数据恢复
在 MongoDB 中, mongorestore实用程序用于恢复备份数据。它恢复由 mongodump 实用程序创建的二进制备份(即 BSON 数据转储)。它可以恢复整个数据库备份或备份的子集。它还恢复为该数据库内的任何集合创建的索引。默认情况下,mongorestore 在 mongodb 的 bin\dump 文件夹中查找数据库备份,该文件夹也是 mongodump 命令用于转储备份的默认文件夹。
要恢复所有数据库使用 -
mongorestore dump
要恢复特定的集合使用-
mongorestore –db databaseName –collection collectionName directory\collectionName.bson
例子:
在这个例子中,我们使用了一个数据库 GeeksForGeeks,它有 4 个集合。我们首先要备份学生收藏,然后删除学生收藏,然后恢复学生收藏。
为了进行备份,我们使用 -
mongodump --db GeeksForGeeks --collection students --out c:\GFGbackup
备份将存储在 c:\GFGbackup 文件夹中
现在我们将使用以下方法删除学生收集 -
db.students.drop()
现在我们将使用 -
mongorestore –db GeeksForGeeks –collection students c:\GFGbackup\GeeksForGeeks\students.bson