Mysql-Xtrabackup备份恢复

mysql,xtrabackup · 浏览次数 : 0

小编点评

**全量+3增量备份恢复** 1. **全量备份:**使用 `nohup` 命令备份 MySQL 数据。 2. **增量备份:**使用 `incremental-dir` 参数指定增量备份目录。 3. **并发备份:**使用 `parallel` 参数设置并发数量。 4. **日志记录:**创建日志文件记录备份过程。 5. **恢复:**使用 `nohup` 命令恢复备份数据。

正文

恢复准备

1、安装Xtrabackup

2、数据备份和拷贝

 恢复步骤

1、恢复全量备份
2、恢复增量备份到全量备份
注意:开始恢复的增量备份要添加--redo-only参数,最后一次增量备份去掉--redo-only参数
3、对整体的完全备份进行恢复:停库——恢复——启动库

恢复场景

 

全量备份恢复


nohup innobackupex --decompress $RESTORE_PATH/XBK_FULL_XXXX > $RESTORE_PATH/log/XBK_FULL_XXXX-decompress.log &
nohup innobackupex --apply-log $RESTORE_PATH/XBK_FULL_XXXX > $RESTORE_PATH/log/XBK_FULL_XXXX-apply-log.log &

systemctl status mysql.service
systemctl stop mysql.service
rm -rf $MYSQL_HOME/data/*

###--move-back不拷贝文件,而是移动文件到目的地,使用场景:没有足够的磁盘空间同时保留数据文件和Backup副本,并且数据文件和backup副本在同一块盘
###--copy-back:做数据恢复时将备份数据文件拷贝到MySQL服务器的datadir。
###根据不同场景使用不同参数,此处使用--move-back
nohup innobackupex --defaults-file=$MYSQL_HOME/my.cnf --move-back $RESTORE_PATH/XBK_FULL_XXXXX > $RESTORE_PATH/log/XBK_FULL_XXXX-move-back.log &

chown -R mysql:mysql $MYSQL_HOME/data/*
systemctl start mysql.service

全量+1增量备份恢复

#全量
nohup innobackupex  --decompress --parallel=6  $RESTORE_PATH/XBK_FULL_XXXX > $RESTORE_PATH/log/XBK_FULL_XXXX-decompress.log &
nohup innobackupex  --apply-log   --redo-only  $RESTORE_PATH/XBK_FULL_XXXX > $RESTORE_PATH/log/XBK_FULL_XXXX-apply-log.log &

#第一次增量
nohup innobackupex  --decompress --parallel=6 $RESTORE_PATH/XBK_INCR_XXXX1 > $RESTORE_PATH/log/XBK_INCR_XXXX1-decompress.log &
nohup innobackupex  --defaults-file=$MYSQL_HOME/my.cnf --user=username --password='XXXX'  --redo-only --apply-log  $RESTORE_PATH/XBK_FULL_XXXX --incremental-dir=$RESTORE_PATH/XBK_INCR_XXXX1 >  $RESTORE_PATH/log/XBK_INCR_XXXX1-redo-only.log&

#停止mysql和清理数据 systemctl status mysql3306.service systemctl stop mysql3306.service
rm -rf /data/app/mysql3306/data/* #恢复 nohup innobackupex --defaults-file=$MYSQL_HOME/my.cnf --copy-back $RESTORE_PATH/XBK_FULL_XXXX > $RESTORE_PATH/log/XBK_FULL_XXXX-copy-back.log &
#启动mysql
chown -R mysql:mysql $MYSQL_HOME/data/* systemctl start mysql.service

 

全量+2增量备份恢复

#全量解压
nohup innobackupex  --defaults-file=$MYSQL_HOME/my.cnf  --decompress  --parallel=8  $RESTORE_PATH/XBK_FULL_XXXX > $RESTORE_PATH/log/XBK_FULL_XXXX-decompress.log &
nohup innobackupex  --defaults-file=$MYSQL_HOME/my.cnf  --apply-log   --redo-only   $RESTORE_PATH/XBK_FULL_XXXX > $RESTORE_PATH/log/XBK_FULL_XXXX-redo-only.log &

#第一次增量
nohup innobackupex  --defaults-file=$MYSQL_HOME/my.cnf --decompress --parallel=8 $RESTORE_PATH/XBK_INCR_XXXX1 > $RESTORE_PATH/log/XBK_INCR_XXXX1-decompress.log &
nohup innobackupex  --defaults-file=$MYSQL_HOME/my.cnf --user=username --password='XXXX' --redo-only --apply-log  $RESTORE_PATH/XBK_FULL_XXXX --incremental-dir=$RESTORE_PATH/XBK_INCR_XXXX1 > $RESTORE_PATH/log/XBK_INCR_XXXX1-redo-only.log &


#第二次增量
nohup innobackupex  --defaults-file=$MYSQL_HOME/my.cnf --decompress --parallel=8 $RESTORE_PATH/XBK_INCR_XXXX2  > $RESTORE_PATH/log/XBK_INCR_XXXX2-decompress.log &
nohup innobackupex  --defaults-file=$MYSQL_HOME/my.cnf --user=username --password='XXXX'   --apply-log  $RESTORE_PATH/log/XBK_FULL_XXXX --incremental-dir=$RESTORE_PATH/XBK_INCR_XXXX2 > $RESTORE_PATH/log/XBK_INCR_XXXX2-apply.log &

#停止mysql和清理数据文件
systemctl status mysql.service
systemctl stop mysql.service
rm -rf $MYSQL_HOME/data/*

#恢复
nohup innobackupex  --defaults-file=$MYSQL_HOME/my.cnf  --copy-back $RESTORE_PATH/XBK_FULL_XXXX  > $RESTORE_PATH/log/XBK_FULL_XXXX-copy-back.log &

#启动mysql
chown -R mysql:mysql $MYSQL_HOME/data/*
systemctl start mysql.service

 

全量+3增量备份恢复

 

#全量解压
nohup innobackupex  --defaults-file=$MYSQL_HOME/my.cnf  --decompress  --parallel=8  $RESTORE_PATH/XBK_FULL_XXXX > $RESTORE_PATH/log/XBK_FULL_XXXX-decompress.log &
nohup innobackupex  --defaults-file=$MYSQL_HOME/my.cnf  --apply-log   --redo-only   $RESTORE_PATH/XBK_FULL_XXXX > $RESTORE_PATH/log/XBK_FULL_XXXX-redo-only.log &

#第一次增量
nohup innobackupex  --defaults-file=$MYSQL_HOME/my.cnf --decompress --parallel=8 $RESTORE_PATH/XBK_INCR_XXXX1 > $RESTORE_PATH/log/XBK_INCR_XXXX1-decompress.log &
nohup innobackupex  --defaults-file=$MYSQL_HOME/my.cnf --user=username --password='XXXX' --redo-only --apply-log  $RESTORE_PATH/XBK_FULL_XXXX --incremental-dir=$RESTORE_PATH/XBK_INCR_XXXX1 > $RESTORE_PATH/log/XBK_INCR_XXXX1-redo-only.log &

#第二次增量
nohup innobackupex  --defaults-file=$MYSQL_HOME/my.cnf --decompress --parallel=8 $RESTORE_PATH/XBK_INCR_XXXX2 > $RESTORE_PATH/log/XBK_INCR_XXXX2-decompress.log &
nohup innobackupex  --defaults-file=$MYSQL_HOME/my.cnf --user=username --password='XXXX' --redo-only --apply-log  $RESTORE_PATH/log/XBK_FULL_XXXX --incremental-dir=$RESTORE_PATH/XBK_INCR_XXXX2 > $RESTORE_PATH/log/XBK_INCR_XXXX2-redo-only.log &

#第三次增量
nohup innobackupex  --defaults-file=$MYSQL_HOME/my.cnf --decompress --parallel=8 $RESTORE_PATH/XBK_INCR_XXXX3  > $RESTORE_PATH/log/XBK_INCR_XXXX3-decompress.log &
nohup innobackupex  --defaults-file=$MYSQL_HOME/my.cnf --user=username --password='XXXX'   --apply-log  $RESTORE_PATH/log/XBK_FULL_XXXX --incremental-dir=$RESTORE_PATH/XBK_INCR_XXXX3 > $RESTORE_PATH/log/XBK_INCR_XXXX3-apply.log &

#停止mysql和清理数据文件
systemctl status mysql.service
systemctl stop mysql.service
rm -rf $MYSQL_HOME/data/*

#恢复
nohup innobackupex  --defaults-file=$MYSQL_HOME/my.cnf  --copy-back $RESTORE_PATH/XBK_FULL_XXXX  > $RESTORE_PATH/log/XBK_FULL_XXXX-copy-back.log &

#启动mysql
chown -R mysql:mysql $MYSQL_HOME/data/*
systemctl start mysql.service

 

与Mysql-Xtrabackup备份恢复相似的内容:

Mysql-Xtrabackup备份恢复

恢复准备 1、安装Xtrabackup 2、数据备份和拷贝 恢复步骤 1、恢复全量备份2、恢复增量备份到全量备份注意:开始恢复的增量备份要添加--redo-only参数,最后一次增量备份去掉--redo-only参数3、对整体的完全备份进行恢复:停库——恢复——启动库 恢复场景 全量备份恢复 noh

[转帖]技术分享 | 国产麒麟 arm 上编译安装 xtrabackup8

原创 发布于 2022-07-19 13:29:29 3220 举报 作者:王向 爱可生 DBA 团队成员,负责公司 DMP 产品的运维和客户 MySQL 问题的处理。擅长数据库故障处理。对数据库技术和 python 有着浓厚的兴趣。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随

玄机-第二章日志分析-mysql应急响应

玄机-第二章日志分析-mysql应急响应 mysql应急响应 ssh账号 root 密码 xjmysql ssh root@env.xj.edisec.net -p 端口号 1.黑客第一次写入的shell flag{关键字符串} 2.黑客反弹shell的ip flag{ip} 3.黑客提权文件...

解读MySQL 8.0数据字典缓存管理机制

MySQL 8.0中的数据字典,通过对两级缓存的逐级访问,以及精妙的对缓存未命中情况的处理方式,有效的加速了在不同场景下数据库对DD的访问速度,显著的提升了数据库访问元数据信息的效率。

MySQL派生表合并优化的原理和实现

本文从一个案例出发梳理了MySQL派生表合并优化的流程实现和优化原理,并对优化前后同一条SQL语句在代码层面的类实例映射关系进行了对比。

Mysql

MySql 1. 事务的四大特性? 事务特性ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 1.原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。 2.一致性是指一个事务执行之前和执行之后都必须处于一

数据特征采样在 MySQL 同步一致性校验中的实践

作者:vivo 互联网存储研发团队 - Shang Yongxing 本文介绍了当前DTS应用中,MySQL数据同步使用到的数据一致性校验工具,并对它的实现思路进行分享。 一、背景 在 MySQL 的使用过程中,经常会因为如集群拆分、数据传输、数据聚合等原因产生流动和数据复制。而在通常的数据复制过程

小白也能懂的Mysql数据库索引详解

一文让你彻底了解:主键索引/二级索引,聚簇索引/非聚簇索引,回表/索引覆盖,索引下推,联合索引/最左联合匹配,前缀索引,explain

mysql查看用户的过期时间

1. mysql查看用户的过期时间的方法 在MySQL中,用户的过期时间(也称为账户过期日期)是一个可选项,用于确定某个MySQL用户账户何时到期。但是,值得注意的是,并非所有的MySQL安装或版本都支持直接设置用户账户的过期时间。特别是,标准的MySQL用户表(如mysql.user)并没有一个专

【冷启动#1】实用的MySQL基础

简单安装一下MySQL Windows下(5.7.x) 本体安装 1、首先先下载安装包,名字如下: mysql-5.7.19-winx64.zip 2、配置环境变量,将解压之后的bin目录添加一下 3、在解压目录下创建my.ini文件,内容如下: [ client ] port=3306 defau