zoukankan      html  css  js  c++  java
  • 利用XtraBackup实现PXC数据库的热备份

     PXC 容器中安装XtraBackup

    apt-get updata 

    1.在宿主机创建数据库卷,将数据卷映射到某个数据库的节点上

    docker volume create backup 

    2.暂停node1节点 并删除,重新创建node1  将备份的路径进行映射

    1.删除所有mysql 数据节点容器,和数据券
      docker rm  node1,node2,node3,node4,node5
      docker volume rm  v2,v2,v3,v4,v5
      docker volume create v1 
      docker volume create  backup

     2.创建node1,

    docker run -d -p 3306:3306 -v v1:/var/lib/mysql -v backup:/data -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 --privileged --name=node1 -e CLUSTER_JOIN=node2 --net=net1 --ip 172.20.0.2 px


    // CLUSTER_NAME=PXC 集群名字 // XTRABACKUP_PASSWORD=123456 数据库集群节点之间同步用到的密码 // --privileged 给最高的权限 // node1 为容器的名字,网段为net1 ip为172.18.0.2 // pxc 为镜像的名称 // -e CLUSTER_JOIN=node2 加入node2节点 // -v backup:/data 数据卷映射

    3.进入node1容器安装热备份的工具

    #进入node1容器
    docker exec -it node1 bash
    #更新软件包
    apt-get update
    #安装热备工具
    apt-get install percona-xtrabackup-24
    #全量热备
    innobackupex --user=root --password=abc123456 /data/backup/full

    4.查看备份数据卷的位置

    docker   inspect  backup

    5.全量恢复步骤:

    1.删除所有mysql 数据节点容器,和数据券
      docker rm  node1,node2,node3,node4,node5
      docker volume rm  v2,v2,v3,v4,v5
      docker volume create v1 
      docker volume create  backup


    2.将所有的事务都回滚
    innobackupex --user=root --password=abc123456 --apply-back
    data/backup/full/20210-07-01_05-09-16/
    3.执行恢复语句
    innobackupex --user=root --password=abc123456  --copy-back /data/backup/full/20210-07-01_05-09-16/
    4.重新创建mysql 集群node2,node3,node4,node5
    
    



  • 相关阅读:
    xshel链接linuxl安装nginx
    nginx学习笔记
    sweiper做一个tab切换
    bootstrap中tab切换的使用
    pc页面自动缩放到手机端
    日程表
    页面嵌套iframe时,怎样让iframe高度根据自身内容高度自适应
    mysql5.7版本以上下载安装
    电脑快捷键操作汇总
    关于.eslintrc.js代码检测的一些配置
  • 原文地址:https://www.cnblogs.com/tsgxj/p/XtraBackup.html
Copyright © 2011-2022 走看看