percona-xtrabackup 备份
发布日期:2025-05-02 00:26:18 浏览次数:11 分类:精选文章

本文共 2074 字,大约阅读时间需要 6 分钟。

Percona XtraBackup 备份与恢复指南

软件版本

  • Percona XtraBackup: v2.2.10
  • MySQL: v5.6.23

全备及恢复

1. 安装 Percona XtraBackup

安装 Percona XtraBackup 是首先需要完成的步骤。通过以下命令可以轻松完成安装:

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456

2. 全备与恢复

(1)全备

执行全备操作可以通过以下命令实现:

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 /bak/mysql/

此命令会将 MySQL 数据库的数据文件(由 my.cnf 中的 datadir 指定)复制到备份目录 /bak/mysql/ 下。注意:如果没有指定 --defaults-file,默认会使用 /etc/my.cnf

备份完成后,系统会在备份目录下创建一个带时间戳的子目录(例如 /bak/mysql/2015-07-08_18-52-43/),并在该目录下存储备份文件。

(2)恢复

恢复操作分为两个步骤:

  • 应用日志(apply-log)

    首先需关闭数据库,并删除相关数据文件和日志文件。然后执行以下命令:

    innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --apply-log /bak/mysql/2015-07-08_18-52-43/
  • 复制回原数据目录

    最后一步是将备份文件复制回原数据目录,并执行以下命令:

    innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --copy-back /bak/mysql/2015-07-08_18-52-43/
  • 恢复完成后,建议检查数据目录的所有者和权限是否正确,并重新启动 MySQL。


    增量备份及恢复

    注意事项

    • 增量备份仅适用于 InnoDB 引擎:对于 MyISAM 等引擎,仍然是全备。
    • 增量备份基于全备:需要有一个全备作为基础,才能进行增量备份。

    1. 增量备份

    在全备基础上进行增量备份,可以通过以下命令实现:

    innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --incremental-basedir=/bak/mysql/2015-07-08_18-52-43/ --incremental /bak/mysql/

    此命令会在 /bak/mysql/ 下创建一个新的时间戳目录(例如 /bak/mysql/2015-07-08_19-46-30/),并在该目录下存储增量备份文件。

    2. 恢复

    增量备份的恢复比全备复杂,需按照以下步骤操作:

  • 重做已提交的日志

    首先,在所有备份目录下重做已提交的日志,执行以下命令:

    innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --apply-log --redo-only /bak/mysql/2015-07-08_18-52-43/
  • 恢复增量备份

    接下来,针对增量备份目录执行恢复操作:

    innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --apply-log --redo-only /bak/mysql/2015-07-08_18-52-43/ --incremental-dir=/bak/mysql/2015-07-08_19-46-30/
  • 完成回滚

    最后,执行完整的回滚操作:

    innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --apply-log /bak/mysql/2015-07-08_18-52-43/
  • 复制回原数据目录

    最后一步是将备份文件复制回原数据目录:

    innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --copy-back /bak/mysql/2015-07-08_18-52-43/
  • 恢复完成后,需重新启动 MySQL,并确保数据目录的所有者和权限正确。


    总结

    通过以上步骤,可以轻松完成 Percona XtraBackup 的安装、全备与恢复,以及增量备份与恢复操作。需要注意的是,增量备份的恢复较为复杂,需严格按照步骤操作以确保数据的完整性和一致性。

    上一篇:Perfect,华为爆出 Redis 宝典,原来 Redis 性能可压榨到极致
    下一篇:SpringBoot(十四)整合MyBatis

    发表评论

    最新留言

    逛到本站,mark一下
    [***.202.152.39]2026年05月27日 20时00分41秒