【MySQL备份】Percona XtraBackup基础篇

目录

1.关于Percona XtraBackup

2. Percona XtraBackup有哪些特点?

3.安装Percona XtraBackup

3.1.环境信息

3.2.安装步骤 

 4. xtrabackup内部流程图

5.Percona XtraBackup基础语法

5.1.全量备份

5.2.增量备份

5.2.1.基于全量备份的增量备份

5.2.2.基于前一个增量备份的增量备份

5.2.3.备份准备

5.3.数据恢复

6.总结 


1.关于Percona XtraBackup

Percona XtraBackup是世界上唯一的开源、免费的MySQL热备份 为InnoDB和XtraDB执行非阻塞备份的软件 数据库。使用Percona XtraBackup,您可以获得以下好处:

  • 快速可靠地完成备份

  • 备份期间不中断的事务处理

  • 节省磁盘空间和网络带宽

  • 自动备份验证

  • 更快的恢复时间导致更高的延迟

2. Percona XtraBackup有哪些特点?

以下是Percona XtraBackup功能的简短列表。

  • 创建热InnoDB备份而无需暂停数据库

  • 对MySQL进行增量备份

  • 将压缩的MySQL备份流式传输到另一台服务器

  • 在线在MySQL服务器之间移动表

  • 轻松创建新的MySQL复制副本

  • 备份MySQL而不增加服务器负载

  • 备份锁是Percona Server 5.6+中可用的FLUSH TABLES WITH READ LOCK的轻量级替代方案。Percona XtraBackup使用它们自动复制非InnoDB数据,以避免阻塞修改InnoDB表的DML查询。

  • Percona XtraBackup根据每秒IO操作数执行限制。

  • Percona XtraBackup跳过辅助索引页,并在准备紧凑备份时重新创建它们。

  • Percona XtraBackup甚至可以从完整备份中导出单个表,无论InnoDB版本如何。

  • 使用Percona XtraBackup导出的表可以导入Percona Server 5.1、5.5或5.6+或MySQL 5.6+。

3.安装Percona XtraBackup

3.1.环境信息

主机IP操作系统Mysql版本XtraBackup版本
172.17.0.2CentOS Stream release 98.0.378.0.35

3.2.安装步骤 

Percona XtraBackup的安装方法有三中YUM仓库安装,RPM包安装,源码编译安装,下面介绍到的是YUM仓库安装

  1. root用户身份或使用sudo运行以下命令来安装Percona yum仓库:

    sudo yum install \
    https://repo.percona.com/yum/percona-release-latest.\
    noarch.rpm
  2. 启用存储库:

    sudo percona-release enable-only tools release

    如果Percona XtraBackup预期与 上游MySQL服务器,只需要开启`tools仓库:

    sudo percona-release enable-only tools
  3. 通过运行以下命令安装Percona XtraBackup:

    sudo yum install percona-xtrabackup-80

    警告:

    在CentOS 6上安装Percona XtraBackup之前,请确保安装了libev软件包。对于此操作系统,可以从EPEL存储库中获得libev包。

  4. 要对使用LZ4ZSTD压缩算法进行的备份进行重新编译,请安装相应的软件包:

    sudo yum install zstd

 4. xtrabackup内部流程图

5.Percona XtraBackup基础语法

Percona XtraBackup 提供了一系列丰富的命令行选项来执行MySQL和Percona Server的热备份操作。以下是一些基本和常用的语法示例,涵盖了全量备份、增量备份、备份准备和恢复等操作:

5.1.全量备份

xtrabackup --backup --user=root --password=<your_password> \ 2 --host=<hostname_or_ip> --port=<port_number> \ 3 --target-dir=<backup_directory>
  • --backup 表示执行备份操作。
  • --user 和 --password 分别指定MySQL的用户名和密码。
  • --host 和 --port 指定MySQL服务器的地址和端口。
  • --target-dir 指定备份文件存放的目录。

5.2.增量备份

5.2.1.基于全量备份的增量备份

xtrabackup --backup --incremental-basedir=<full_backup_directory> \ 2 --target-dir=<incremental_backup_directory> \ 3 --user=root --password=<your_password> \ 4 --host=<hostname_or_ip> --port=<port_number>
  • --incremental-basedir 指定增量备份基于的全量备份目录。

5.2.2.基于前一个增量备份的增量备份

xtrabackup --backup --incremental-basedir=<previous_incremental_backup_directory> \ 2 --target-dir=<new_incremental_backup_directory> \ 3 --user=root --password=<your_password> \ 4 --host=<hostname_or_ip> --port=<port_number>

5.2.3.备份准备

对于全量备份,执行以下命令准备数据以便恢复:

xtrabackup --prepare --apply-log-only --target-dir=<backup_directory>

对于增量备份链,需要先对全量备份进行准备,然后依次对每个增量备份执行准备操作,最终对整个链进行最终的准备:

xtrabackup --prepare --apply-log-only --target-dir=<prepared_full_backup_directory> \ 2 --incremental-dir=<incremental_backup_directory>

5.3.数据恢复

将准备好的备份数据恢复到MySQL数据目录:

# 先停止MySQL服务
sudo systemctl stop mysql

# 将备份数据复制到MySQL数据目录(示例使用全量备份)
rsync -avP <prepared_backup_directory>/ /var/lib/mysql/

# 调整文件权限和属主
chown -R mysql:mysql /var/lib/mysql/

# 启动MySQL服务
sudo systemctl start mysql

6.总结 

本篇文章介绍了Percona XtraBackup工具的安装、使用以及原理,后面会发布Percona XtraBackup的实战篇

  • 23
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值