【Docker-04】Mysql集群 热备份数据 —— 不看后悔系列 —— 看了也后悔

前言

冷备份:

  • 关闭数据库时候的备份方式,通常做法是拷贝数据文件
  • 冷备份是最简单的最安全的一种备份方式
  • mysqldump也属于冷备份
  • 大型网站无法做到关闭业务备份数据,所以冷备份不是最佳选择
  • 当然在之前提到的PXC集群中,我们可以中断某个节点,单独备份数据,再上线。
    热备份:
  • 热备份是在系统运行的状态下备份数据,也是难度最大的备份
  • Mysql常见的热备份有LVM和XtraBackup两种方案

XtraBackup方案实现热备份

XtraBackup是一款基于InnoDB的在线热备工具,具有开源免费,支持在线热备,占用磁盘空间小,能够非常快速地备份与恢复Mysql数据库
优势

  • 备份过程中不锁表、快速可靠
  • 备份过程中不会打断正在执行的事务
  • 能够基于压缩等功能节约磁盘空间和流量

动动手

1.创建备份数据卷

docker volume create backup

2.删除原来的节点,重新配置节点,支持热备份

docker stop node1
docker rm node1
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -v v1:/var/lib/mysql -v backup:/data --privileged -e CLUSTER_JOIN=node2 --name=node1 --net=net1 --ip 172.18.0.2 pxc

3.PXC全量备份

进入node1容器,安装XtraBackup
docker exec -it node1 bash
apt-get update
apt-get install percona-xtrabackup-24
输入全量备份命令
innobackupex --user=root --password=abc123456 /data/backup/full

4.PXC全量恢复步骤

数据库可以热备份,但是不能热还原。为了避免恢复过程中的数据同步。我们采用空白的MyMySQL还原数据,然后再建立PXC集群
还原数据前要将未提交的事务回滚,还原数据之后重启MySQL
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值