美文网首页
k8s-mongodb备份

k8s-mongodb备份

作者: 催化剂 | 来源:发表于2023-01-14 16:48 被阅读0次

1、找到容器

模糊查询 kubectl get pod -n | grep kubectl get pod -n my-namespace | grep mon

2、进入容器

kubectl exec -it -n bash

2.1 备份目录

mkdir /db_bak 存在则先删除 rm -rf /db_bak

2.2 导出

将某个db库导出,会自动在目录下面生效 <数据库名> 这层目录。目录下面都是json和bson文件。

authenticationDatabase 表示角色,这里的角色是admin

这里是由root用户导出

mongodump -h <ip:port> -u <用户> -p <密码> --authenticationDatabase admin -d <数据库名> -o <目录>

导出命令 ,会生成 /db_bak/file-base-server-db目录

mongodump -h 127.0.0.1:27017 -u root -p MyPwd@123456 --authenticationDatabase admin  -d XXX-server-db -o /db_bak

mongodump -h 127.0.0.1:27017 -u root -p MyPwd@123456 --authenticationDatabase admin  -d XXX-sink-server-db -o /db_bak

mongodump -h 127.0.0.1:27017 -u root -p MyPwd@123456 --authenticationDatabase admin  -d XXX-operate-service -o /db_bak

```

3、## 复制到真机中(注意:podname后的目录一定要带"/")

3.1 新建备份目录

mkdir /home/db_bak/mongodb_bak/20250818

3.2 copy出来

(注意:podname后的目录一定要带"/") kubectl cp mongo-server-64dfbf6fd8-7szct:/db_bak/ /home/db_bak/mongodb_bak/20210818 -n my-namespace

3.3 恢复语句(可远程导入)

这里只能一个库一个库的恢复导入和导出一样。 。

authenticationDatabase 表示角色,这里的角色是admin

这里是由root用户导出

mongorestore -h <ip:port> -u <用户> -p <密码> --authenticationDatabase admin -d <数据库名> <目录> ``` eg: mongorestore -h 127.0.0.1:27017 -u root -p MyPwd@123456 --authenticationDatabase admin -d file-base-server-db /db_bak/file-base-server-db

相关文章

网友评论

      本文标题:k8s-mongodb备份

      本文链接:https://www.haomeiwen.com/subject/hrqocdtx.html