XtraBackup8.0 备份与还原使用步骤


一、XtraBackup 是什么?

XtraBackup(Percona XtraBackup)是一个用于 MySQL 和 MariaDB 数据库的开源备份工具,它允许创建物理备份,用于灾难恢复、数据库复制和数据迁移等工作。

XtraBackup具有以下特点:

  • 非阻塞备份:备份期间不会锁表,不影响数据库正在运行的服务。
  • 支持 InnoDB :可以高效地备份和还原 InnoDB 数据。
  • 物理备份:备份数据库的实际数据文件,备份和还原速度更快。
  • 增量备份:支持增量备份,节省存储空间和时间。
  • 并行备份和还原:可以使用多个线程加速备份和还原过程,充分利用多核 CPU 的性能。
  • 流式备份:支持流式备份,允许将备份数据发送到另一个服务器或存储位置,减少了临时磁盘空间的需求。
  • 校验和验证:对数据块校验,以确保数据的完整性。
  • 压缩和加密:支持数据压缩和加密,有助于减小备份存储要求并增强数据安全性。
  • 兼容性:兼容各种 MySQL 和 MariaDB 版本。

二、XtraBackup 备份与还原步骤

1. 全量备份与还原

备份阶段

使用xtrabackup命令来执行备份。

xtrabackup --defaults-file=/etc/my.cnf --user=root --password=123456 --backup --target-dir=/opt/backup/20231108-1

这将在指定目录中创建一个备份,包括数据库文件和二进制日志。
在这里插入图片描述

停止MySQL,模拟故障
/etc/init.d/mysql.server stop
mv /opt/mysql/data /opt/mysq/data.bak
还原阶段

合并数据文件和日志文件,确保数据完整性。

xtrabackup --defaults-file=/etc/my.cnf --user=root --password=123456 --prepare --target-dir=/opt/backup/20231108-1

还原

xtrabackup --defaults-file=/etc/my.cnf --user=root --password=123456 --copy-back --target-dir=/opt/backup/20231108-1

修改数据目录权限

chown -R mysql. /opt/mysql/data

重启MySQL

/etc/init.d/mysql.server start

2. 增量备份与还原

备份阶段

增量备份可以在之前的备份上再次执行xtrabackup命令,但要加 incremental 参数。增量备份会捕获自上次备份以来的更改记录。

xtrabackup --backup --target-dir=本次增量备份目录 --incremental-basedir=上次备份目录

向表中插入测试数据
在这里插入图片描述

第一次增量备份

xtrabackup --defaults-file=/etc/my.cnf --user=root --password=123456 --backup --target-dir=/opt/backup/20231109-1 --incremental-basedir=/opt/backup/20231108-1

继续插入测试数据
在这里插入图片描述

第二次增量备份

xtrabackup --defaults-file=/etc/my.cnf --user=root --password=123456 --backup --target-dir=/opt/backup/20231109-2 --incremental-basedir=/opt/backup/20231109-1
模拟故障
/etc/init.d/mysql.server stop
mv /opt/mysql/data /opt/mysql/data.bak1
还原阶段

还原操作同样要加 incremental 参数

xtrabackup --prepare --apply-log-only --target-dir=全备目录  --incremental-dir=增备目录

除了最后一个增备,所有的备份还原都设置 apply-log-only 参数(只应用 redo log ,跳过 undo log ,避免未完成事务的回滚)

xtrabackup --defaults-file=/etc/my.cnf --user=root --password=123456 --prepare --apply-log-only --target-dir=/opt/backup/20231108-1

将第一个或第N个增量备份合并到完全备份

xtrabackup --defaults-file=/etc/my.cnf --user=root --password=123456 --prepare --apply-log-only --target-dir=/opt/backup/20231108-1 --incremental-dir=/opt/backup/20231109-1

将最后一个增量备份合并到完全备份

xtrabackup --defaults-file=/etc/my.cnf --user=root --password=123456 --prepare --target-dir=/opt/backup/20231108-1 --incremental-dir=/opt/backup/20231109-2

还原

xtrabackup  --defaults-file=/etc/my.cnf --user=root --password=123456 --copy-back --target-dir=/opt/backup/20231108-1

修改目录权限

chown -R /opt/mysql/data

重启数据库

/etc/init.d/mysql.server start

验证数据
在这里插入图片描述

注意事项和建议:

注意事项和建议:

在备份和还原数据库之前,务必了解工具的详细用法和最佳实践。

如果你使用了压缩或加密选项,还原时需要相应地解压缩或解密备份文件。

定期测试备份和还原过程,以确保数据的完整性和可用性。

在生产环境中,最好在低负载时执行备份操作,以减少对数据库性能的影响。

备份和还原数据库是敏感操作,需要小心谨慎地执行。如果不熟悉备份和还原过程,建议先在测试环境中进行练习。
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值