使用XtraBackup对mysql进行全量增量备份还原

本文详细介绍了如何使用XtraBackup工具对MySQL进行全量和增量备份及还原操作。包括设置备份参数、执行全量备份、增量备份的步骤,以及在需要时如何恢复数据。在恢复过程中,先应用日志,然后停服清理旧数据,再将备份复制到数据目录,并调整文件权限,最后重启服务。
摘要由CSDN通过智能技术生成

XtraBackup

https://www.percona.com/downloads/XtraBackup/LATEST/

常用备份参数
--user=     #指定数据库备份用户
--password=  #指定数据库备份用户密码
--port=     #指定数据库端口
--host=     #指定备份主机
--socket=    #指定socket文件路径
--databases=  #备份指定数据库,多个空格隔开,如--databases="dbname1 dbname2",不加备份所有库
--defaults-file=       #指定my.cnf配置文件
--apply-log         #日志回滚
--incremental=          #增量备份,后跟增量备份路径
--incremental-basedir=     #增量备份,指上次增量备份路径
--redo-only         #合并全备和增量备份数据文件
--copy-back         #将备份数据复制到数据库,数据库目录要为空
--no-timestamp          #生成备份文件不以时间戳为目录名
--stream=             #指定流的格式做备份,--stream=tar,将备份文件归档
--remote-host=user@ip DST_DIR #备份到远程主机

//全量备份
innobackupex --defaults-file=/etc/my.cnf --user=root --password='123456'  --no-timestamp /data/backup/full
不加时间戳备份
innobackupex --user=root --password='123456'  --no-timestamp  /data/backup/`date +%Y-%m-%d`

//全量恢复
#(1)  对数据进行准备工作
innobackupex --apply-log /data/backup/full/
#(2) 完成准备工作后,停止mysql,并删除旧文件
systemctl stop mysql || /etc/init.d/mysqld stop
rm -rf /var/lib/mysql/*
#(3)将备份的文件还原到对应的数据目录中
innobackupex --defaults-file=/etc/my.cnf --copy-back /data/backup/full/
#(4)修改mysql的权限为mysql用户
chown -R mysql: /var/lib/mysql 
#(5)重新启动mysql
       systemctl start mysql  || /etc/init.d/mysqld start


//增量备份
innobackupex --defaults-file=/etc/my.cnf --user=root --password='123456' --no-timestamp --incremental-basedir=/data/backup/full --incremental /data/backup/incre01
    
//增量恢复
1.准备全量数据
innobackupex --user=root --password='123456' --apply-log --redo-only /data/backup/full

2.将增量合并到全量备份中(如果是最后一个增量,不需要--redo-only
innobackupex --user=root --password='123456' --incremental --apply-log --redo-only /data/backup/full --incremental-dir=/data/backup/incre01

3.执行全量恢复操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值