MongoDB支持整库备份使用mongodump和mongorestore命令,单个collection可通过mongoexport和mongoimport进行备份和恢复。
MongoDB备份与恢复全解析:整库备份与单个Collection操作指南
MongoDB作为一款高性能、可扩展的NoSQL数据库,在日常运维中,数据备份与恢复是必不可少的环节,本文将详细介绍MongoDB的整库备份与还原,以及单个Collection的备份和恢复方法,帮助大家更好地保障数据安全。
整库备份与还原
1、整库备份
MongoDB提供了两种方式进行整库备份:一是使用mongodump工具,二是使用文件系统快照。
(1)使用mongodump工具
mongodump是MongoDB官方提供的备份工具,可以备份整个数据库或指定的数据库和集合。
备份命令如下:
mongodump --host [主机名或IP地址] --port [端口号,默认为27017] --username [用户名] --password [密码] --out [备份文件存放路径] --db [数据库名称]
示例:
mongodump --host localhost --port 27017 --username admin --password 123456 --out /data/backup --db test_db
(2)使用文件系统快照
对于使用WiredTiger存储引擎的MongoDB实例,可以使用文件系统快照进行整库备份。
需要挂载支持快照功能的文件系统(如LVM),然后执行以下命令:
lsblk # 查看磁盘分区情况 lvcreate --size 10G --snapshot --name mdb-snap /dev/vg0/mongodb-data # 创建快照
创建快照后,将快照挂载到某个目录,即可进行备份。
2、整库还原
整库还原可以使用mongorestore工具,它可以将mongodump生成的备份文件恢复到MongoDB数据库。
还原命令如下:
mongorestore --host [主机名或IP地址] --port [端口号,默认为27017] --username [用户名] --password [密码] --db [数据库名称] [备份文件存放路径]
示例:
mongorestore --host localhost --port 27017 --username admin --password 123456 --db test_db /data/backup/test_db
如果使用文件系统快照进行备份,可以直接将快照挂载到目标MongoDB实例的数据目录,然后启动MongoDB服务。
单个Collection备份与恢复
1、单个Collection备份
要备份单个Collection,可以使用mongodump工具指定数据库和集合。
命令如下:
mongodump --host [主机名或IP地址] --port [端口号,默认为27017] --username [用户名] --password [密码] --out [备份文件存放路径] --db [数据库名称] --collection [集合名称]
示例:
mongodump --host localhost --port 27017 --username admin --password 123456 --out /data/backup --db test_db --collection test_col
2、单个Collection恢复
要恢复单个Collection,可以使用mongorestore工具指定数据库和集合。
命令如下:
mongorestore --host [主机名或IP地址] --port [端口号,默认为27017] --username [用户名] --password [密码] --db [数据库名称] --collection [集合名称] [备份文件存放路径]
示例:
mongorestore --host localhost --port 27017 --username admin --password 123456 --db test_db --collection test_col /data/backup/test_db/test_col
MongoDB的备份与恢复是保障数据安全的重要环节,本文详细介绍了整库备份与还原,以及单个Collection的备份和恢复方法,在实际操作中,大家可以根据实际情况选择合适的备份方式,确保数据的安全和完整。
需要注意的是,定期进行数据备份是必要的,同时也要定期检查备份文件的可恢复性,以确保在发生数据丢失或故障时,能够快速、有效地恢复数据,对于生产环境,建议使用专业的备份工具和策略,以保障数据的安全性和可靠性。
原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/236334.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复