美文网首页
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