本文将详细介绍 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 工具来进行备份和恢复操作。定期备份数据库,并熟悉恢复流程,对于保证数据的安全性至关重要。希望本文能帮助您在实际工作中更加得心应手。