xtrabackup 备份及恢复

参考

全量备份

# 使用 `xtrabackup --backup` 执行备份
xtrabackup --backup --host=localhost --user=root --password=123456 --target-dir=/data/backups/

prepare

# 回放Redo log中的事务,未提交的事务回滚
xtrabackup --prepare --target-dir=/data/backups/

restore

文件恢复,前提是/var/lib/mysql目录为空

xtrabackup --copy-back --target-dir=/data/backups/

增量备份

# 先进行一次全量备份base
xtrabackup --backup --target-dir=/data/backups/base

# 基于base做增量备份inc1
xtrabackup --backup --target-dir=/data/backups/inc1 --incremental-basedir=/data/backups/base

# 基于inc1做增量备份inc2
xtrabackup --backup --target-dir=/data/backups/inc2 --incremental-basedir=/data/backups/inc1

prepare

apply-log-only 表示只应用redo log,未提交的事务不回滚。

# prepare base
xtrabackup --prepare --apply-log-only --target-dir=/data/backups/base

# 基于base prepare inc1, 将数据变更写入base
xtrabackup --prepare --apply-log-only --target-dir=/data/backups/base --incremental-dir=/data/backups/inc1

# 基于base prepare inc2, 将数据变更写入base
# 最后一次不加--apply-log-only
xtrabackup --prepare --target-dir=/data/backups/base --incremental-dir=/data/backups/inc2

posted @ 2022-12-20 16:07  renzhsh  阅读(462)  评论(0编辑  收藏  举报