k8s 之 mongo 备份与恢复

本文详细介绍了如何在Kubernetes(k8s)环境中使用MongoDB进行单库和全库备份,以及恢复操作,包括使用`mongodump`和`mongorestore`命令,以及文件在k8s容器间的导入导出方法。
摘要由CSDN通过智能技术生成

k8s 之 mongo 备份与恢复

k8s 中使用 mongodb 进行库的备份操作

单个 库 的备份

mongo 都是多副本部署,首先找到 master

#进入mongo pod 中查看是否为master
kubectl exec -it ${mongo-pod} -n ${namespace} -- /bin/bash
#进入mongodb
mongo
#查看是否是master节点
db.isMaster()

在这里插入图片描述
在容器中输入数据库备份命令

#进入容器
kubectl exec -it ${mongo-pod} -n ${namespace} -- /bin/bash
#单库备份
mongodump -d ${dbname} -o /home
#例如
# mongodump -d dataservice -o /home

全部数据库的备份

全库备份

#进入容器
kubectl exec -it ${mongo-pod} -n ${namespace} -- /bin/bash
#全库备份
mongodump -u root -p 123456 --authenticationDatabase admin --oplog -o /home/backup/

k8s 中使用 mongodb 进行库的恢复操作

单个库的恢复

#单个库的恢复
mongorestore -d ${dbname} --dir /home

全库恢复

mongorestore -u root -p 123456 /home/backup/ --authenticationDatabase admin 

单库备份参考文档:https://www.toutiao.com/article/7134196160713130503/?channel=&source=search_tab
全库备份参考文档:https://blog.csdn.net/wangying202/article/details/120545839
参考文档:https://www.cnblogs.com/abner123/p/16275477.html

附(文件从 k8s 容器中导入/导出)

容器中导出文件

kubectl cp -n ${namespace} ${pod}:/home/dataservice /root/dataservice
# /home/dataservice  是容器中的文件夹路径
# /root/dataservice  是服务器中的目标文件夹路径

# 如果 pod 中包含多个容器的
kubectl cp -n ${namespace} ${pod}:/home/dataservice /root/dataservice -c ${container-name}

服务器文件导入到容器中

kubectl -n ${namespace} cp /root/dataservice ${pod}:/home
# /root/dataservice  是服务器中的目标文件夹路径
# /home  是容器中的文件夹路径
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值