xtrabackup备份(全备、增量备)与恢复

xtrabackup 参数说明(xtrabackup --help ):

--apply-log-only:prepare备份的时候只执行redo阶段,用于增量备份。
--backup:创建备份并且放入--target-dir目录中
--datadir=DIRECTORY:backup的源目录,mysql实例的数据目录。从my.cnf中读取,或者命令行指定。
--defaults-file=[MY.CNF]:唯一从给定文件读取默认选项,必须是个真实文件,必须在命令行第一个选项位置指定。
--incremental-basedir=DIRECTORY:创建一份增量备份时,这个目录是增量别分的一份包含了full bakcup的Base数据集。
--incremental-dir=DIRECTORY:prepare增量备份的时候,增量备份在DIRECTORY结合full backup创建出一份新的full backup。
--databases=#:指定了需要备份的数据库和表。
--stream=name:将所有备份文件以指定格式流向标准输出,目前支持的格式有xbstream和tar。
--user-memory = #:通过--prepare prepare备份时候分配多大内存,目的像innodb_buffer_pool_size。默认值100M如果你有足够大的内存。1-2G是推荐值,支持各种单位(1MB,1M,1GB,1G)。
--version:打印xtrabackup版本并退出。

全备:

xtrabackup --defaults-file=/etc/my.cnf --user=root --password=passwd --socket=/usr/local/mysql/data/mysql.sock --backup --target-dir=/data/backup/xtrabackup`date +%Y-%m-%d-%H-%M-%S`

第一次增量备份:

xtrabackup --defaults-file=/etc/my.cnf --user=root --password=passwd --socket=/usr/local/mysql/data/mysql.sock --backup --target-dir=/data/backup/inc`date +%Y-%m-%d-%H-%M-%S` --incremental-basedir= /data/backup/xtrabackup2020-12-03-16-39-43/ #指定上次完整备份目录
#其中,--incremental指明是增量备份,--incremental-basedir指定上次完整备份或者增量备份文件的位置。

第二次增量备份:

xtrabackup --defaults-file=/etc/my.cnf --user=root --password=Qq123456@ --socket=/usr/local/mysql/data/mysql.sock --backup --target-dir=/data/backup/inc`date +%Y-%m-%d-%H-%M-%S` --incremental-basedir=/data/backup/inc2020-12-03-16-48-37/ #指定上次增量备份目录

查看xtrabackup_checkpoints文件
查看日志序号来增量备份
在这里插入图片描述
恢复
步骤:将增量备份1、增量备份2…合并到完整备份,加到一起出来一个新的完整备份,将新的完整备份恢复到数据库空目录
预备完整备份

xtrabackup --defaults-file=/etc/my.cnf  --prepare  --apply-log-only --target-dir=/data/backup/xtrabackup2020-12-03-16-39-43/

合并第一个增量备份到完整备份

xtrabackup --defaults-file=/etc/my.cnf --prepare --apply-log-only --target-dir=/data/backup/xtrabackup2020-12-03-16-39-43/ --incremental-dir=/data/backup/inc2020-12-03-16-48-37/

合并第二个增量备份新的完整备份(注意:最后一次合并我没有加–apply-log-only)

xtrabackup --defaults-file=/etc/my.cnf --prepare  --target-dir=/data/backup/xtrabackup2020-12-03-16-39-43/ --incremental-dir=/data/backup/inc2020-12-03-16-49-48/

注意说明:
如果最后一次应用日志时没有加–apply-log-only那么以下操作可以省略;如果最后一次加了,可以使用以下语句进行回滚操作,回滚未提交的事务:

xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/data/backup/xtrabackup2020-12-03-16-39-43/

恢复最新的完整备份到数据库

systemctl stop mysqld
mv /usr/local/mysql/data /usr/local/mysql/databak (或者直接rm -rf)
mkdir /usr/local/mysql/data
xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/data/backup/xtrabackup2020-12-03-16-39-43/
chown -R mysql.mysql  /usr/local/mysql/data
systemctl start mysqld
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Xtrabackup是Percona公司开发的一款MySQL备份恢复工具,它支持增量备份,可以大大缩短备份时间,并且可以快速地进行数据恢复。下面是使用Xtrabackup进行增量备份及快速恢复的步骤: 1. 安装Xtrabackup工具:首先需要在备份服务器上安装Xtrabackup工具,可以使用yum或者apt-get等包管理器进行安装。 2. 进行全量备份:使用Xtrabackup进行全量备份,可以使用如下命令: ``` xtrabackup --backup --user=root --password=<password> --target-dir=/path/to/backup ``` 3. 进行增量备份:在进行增量备份时,需要先生成备份的binlog文件名和位置,可以使用如下命令: ``` mysql -uroot -p -e "SHOW MASTER STATUS\G" | grep File mysql -uroot -p -e "SHOW MASTER STATUS\G" | grep Position ``` 然后使用Xtrabackup进行增量备份,可以使用如下命令: ``` xtrabackup --backup --user=root --password=<password> --target-dir=/path/to/backup --incremental-dir=/path/to/incremental --incremental-basedir=/path/to/last/full/backup --slave-info ``` 其中,--incremental-basedir参数指定上一次全量备份的目录,--incremental-dir参数指定增量备份的目录。 4. 进行数据恢复:在进行数据恢复时,可以使用Xtrabackup进行快速恢复。具体的步骤如下: - 停止MySQL服务:停止MySQL服务,以便进行数据恢复。 - 恢复全量备份:使用Xtrabackup进行全量备份恢复,可以使用如下命令: ``` xtrabackup --copy-back --target-dir=/path/to/backup ``` - 恢复增量备份:使用Xtrabackup进行增量备份恢复,可以使用如下命令: ``` xtrabackup --apply-log --redo-only --target-dir=/path/to/backup --incremental-dir=/path/to/incremental ``` - 启动MySQL服务:启动MySQL服务并验证数据是否已经还原成功。 需要注意的是,在进行数据恢复时,需要保证备份的全量数据和增量备份的一致性和完整性,否则可能会导致数据还原失败或者数据丢失。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值