切换语言为:繁体

MongoDB 数据库的备份与恢复

  • 爱糖宝
  • 2024-10-01
  • 2044
  • 0
  • 0

本文将详细介绍 MongoDB 数据库的备份与恢复方法,并提供实践练习,帮助您更好地理解和掌握这一运维技能。

1.数据备份的重要性

在讨论具体备份方法之前,有必要先了解为什么备份如此重要:

  • 防止数据丢失:硬件故障、人为错误、恶意攻击等因素都可能导致数据丢失。

  • 数据一致性:定期备份有助于保持数据的一致性,确保在需要时可以恢复到某个特定的时间点。

  • 合规性要求:某些行业标准或法规可能要求定期备份数据。

2. 备份方法

MongoDB 提供了多种备份方式,这里我们主要介绍使用 mongodump 和 mongofiles 进行备份的方法。

3. 数据恢复

使用 mongorestore 进行逻辑恢复 mongorestore 是用来从之前创建的逻辑备份中恢复数据的工具。

4.实践练习

备份工具集下载和安装

要用到mongodump、mongorestore等工具时候发现原来下载的数据库文件缺失很多工具,需要单独下载
下载工具集:
www.mongodb.com/try/downloa…

下载完成后解压到mongodb/bin目录下即可

MongoDB数据备份

在Mongodb中我们使用mongodump命令来备份MongoDB数据。该命令可以导出所有数据到指定目录中。

mongodump命令可以通过参数指定导出的数据量级转存的服务器。

语法

mongodump命令脚本语法如下:

mongodump.exe -h dbhost -d dbname -o dbdirectory

全部备份:

mongodump.exe

  • -h:

    MongoDB 所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017

  • -d:

    需要备份的数据库实例,例如:test

  • -o:

    备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。

实例

在本地使用 27017 启动你的mongod服务。打开命令提示符窗口,进入MongoDB安装目录的bin目录输入命令mongodump:

#数据库备份:找到mongodb数据库bin目录,例如:
在F:\database\mongodb-win32-x86_64-windows-6.0.3\bin目录下
mongodump.exe -h localhost:27017 -d db_student   -o  d:\

mongodump 命令可选参数列表如下所示:

语法 描述 实例
mongodump --host HOST_NAME --port PORT_NUMBER 该命令将备份所有MongoDB数据 mongodump --host localhost --port 27017
mongodump --dbpath DB_PATH --out BACKUP_DIRECTORY
mongodump --dbpath /data/db/ --out /data/backup/
mongodump --collection COLLECTION --db DB_NAME 该命令将备份指定数据库的集合。 mongodump --collection mycol --db test

MongoDB数据恢复

mongodb使用 mongorestore 命令来恢复备份的数据。

语法

mongorestore命令脚本语法如下

>mongorestore -h localhost:27017 -d student --dir d:/student
mongorestore -h <hostname><:port> -d dbname  --gzip <path>

  • --host <:port>, -h <:port>:
    MongoDB所在服务器地址,默认为: localhost:27017

  • --gzip是压缩包格式,导入文档时必须要加此参数

  • -db , -d :
    需要恢复的数据库实例

  • --drop:
    恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!

  • <path>:mongorestore 最后的一个参数,设置备份数据实例所在位置,例如:c:/data/dump/test。
    你不能同时指定  和 --dir 选项,--dir也可以设置备份目录,整个例子:mongodump.exe -d test ./dump/test

  • --dir:
    指定备份的目录,例如 :./dump,备份目录内所有数据,所以-d不能使用,整个例子:mongodump.exe --dir ./dump
    你不能同时指定  和 --dir 选项。

例如:

mongorestore.exe -h localhost -d db_student --gzip C:\Users\zhujw\Documents\db_student

也可以使用mongoimport和mongoexport完成数据导入和导出

//先在数据库中创建dept集合
mongoimport  -d student -c dept --jsonArray d:\dept.json

通过本文的介绍,您应该已经了解了 MongoDB 数据库备份与恢复的基本概念,并掌握了如何使用 mongodump、mongorestore 和 mongofiles 工具来进行备份和恢复操作。定期备份数据库,并熟悉恢复流程,对于保证数据的安全性至关重要。希望本文能帮助您在实际工作中更加得心应手。

0条评论

您的电子邮件等信息不会被公开,以下所有项均必填

OK! You can skip this field.