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
网友评论