利用XtraBackup实现PXC数据库的热备份

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

docker volume create backup 

停止一个数据库节点,删除容器,将数据卷映射到容器内部,然后在启动容器加入集群

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

在这里插入图片描述

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

在这里插入图片描述

冷还原数据
    停止其余2个节点,并删除节点

    ```shell
    docker stop node2
    docker stop node3
    docker rm node2
    docker rm node
    ```

    node1容器中删除MySQL的数据

    ```shell
    #删除数据
    rm -rf /var/lib/mysql/*
    #清空事务
    innobackupex --user=root --password=abc123456 --apply-back /data/backup/full/2018-04-15_05-09-07/
    #还原数据
    innobackupex --user=root --password=abc123456 --copy-back  /data/backup/full/2018-04-15_05-09-07/
    ```
    重新创建其余2个节点,组件PXC集群
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值