阅读量:1
在CentOS系统下,MongoDB数据恢复可以通过以下几种方法实现:
使用mongorestore命令恢复备份数据
-
恢复整个数据库:
mongorestore -u [用户名] -p [密码] --authenticationDatabase [认证数据库] [备份目录]例如:
mongorestore -u game -p VvsPBDQw --authenticationDatabase kinggame /home/backup/kinggame -
恢复指定数据库:
mongorestore -u [用户名] -p [密码] --authenticationDatabase [认证数据库] [备份目录]/[数据库名]例如:
mongorestore -u game -p VvsPBDQw --authenticationDatabase kinggame /home/backup/kinggame/kinggame -
恢复指定集合:
mongorestore -u [用户名] -p [密码] --authenticationDatabase [认证数据库] [备份目录]/[数据库名]/[集合名]例如:
mongorestore -u game -p VvsPBDQw --authenticationDatabase kinggame /home/backup/kinggame/kinggame/setting
使用物理备份文件恢复
-
安装必要的工具:
yum install percona-xtrabackup-24 -
传输备份文件:使用scp或其他工具将备份文件传输到CentOS服务器。
-
解压备份文件:
innobackupex --decompress --remove-original /path/to/backup -
恢复数据:
mongorestore --host localhost --port 27017 --db [数据库名] /path/to/backup/[数据库名]
使用mongodump和mongorestore进行定时备份和恢复
-
备份脚本: 创建备份脚本
/home/crontab/mongod_bak.sh,内容如下:#!/bin/sh Dump=/usr/bin/mongodump OUT_DIR=/home/backup/mongod_bak TAR_DIR=/home/backup/mongod_bak/mongod_bak_now DATE=$(date +%Y-%m-%d) DB_USER=db_user DB_PASS=db_password DB_NAME=dbname $Dump -h 127.0.0.1:27017 -u $DB_USER -p $DB_PASS -d $DB_NAME -o $OUT_DIR/$DATE tar -zcvf $TAR_DIR/$DATE.tar.gz $OUT_DIR/$DATE find $TAR_DIR/ -mtime +14 -type f -delete -
设置定时任务: 编辑
crontab文件:crontab -e 添加以下内容: 0 1 * * * /home/crontab/mongod_bak.sh -
恢复脚本: 创建恢复脚本
/home/crontab/mongorestore.sh,内容如下:#!/bin/sh mongorestore -u [用户名] -p [密码] --authenticationDatabase [认证数据库] [备份目录] -
设置定时任务: 编辑
crontab文件:crontab -e 添加以下内容: 0 1 * * * /home/crontab/mongorestore.sh
注意事项
- 在进行数据恢复之前,确保备份文件的完整性和可用性,并停止MongoDB服务以避免数据不一致。
- 如果备份文件是通过
mongodump创建的,建议使用mongorestore工具进行恢复。
通过以上方法,您应该能够在CentOS系统上成功恢复MongoDB数据。如果在恢复过程中遇到问题,建议参考MongoDB官方文档或寻求社区帮助。
以上就是关于“centos上mongodb数据如何恢复”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm