一、说明

Percona XtraBackup工具提供了一种在执行MySQL数据热备的方法。Percona XtraBackup是一个免费的、在线的、开源的、完整的数据库备份解决方案,适用于MySQL和MySQL®的所有版本的Percona服务器。

Percona XtraBackup在事务系统上执行在线非阻塞、紧密压缩、高度安全的完全备份,在备份时不会影响应用正常使用。

Percona Xtrabackup是一款开源的备份工具,支持Innodb、Mysiam、Xtradb等存储引擎数据的在线热备。其特点是备份速度快,对innodb型业务数据几乎无影响,对Myisam型数据会暂时性的锁表,且恢复速度更快。通常,Percona Xtrabackup软件部署有三种常见的方式,分别是rpm包、二进制包以及源码编译的方式安装。建议:使用二进制包方式安装,方便快捷。

1.1Percona Xtrabackup优势

  1. 快速可靠的数据库备份(如热备份、增量备份、bacula备份等)

  2. 份期间不间断的事务处理

  3. 节省磁盘空间和网络带宽与更好的压缩

  4. 自动备份验证

  5. 更高的正常运行时间,因为更快的恢复时间

  6. 于时间点恢复

1.2Percona Xtrabackup软件下载

1.3Percona Xtrabackup软件部署

在Linux系统创建/Xtrabackup目录,上传介质包percona-xtrabackup-2.3.10-Linux-x86_64.tar.gz

1

2

3

shell> mkdir –p /Xtrabackup

sftpcd /Xtrabackup

sftp> put percona-xtrabackup-2.3.10-Linux-x86_64.tar.gz

解压介质包,并设置环境变量

1

2

3

4

5

6

7

8

shell> cd /XtraBackup/

shell> tar zxvf percona-xtrabackup-2.3.10-Linux-x86_64.tar.gz

shell> pwd

/XtraBackup/percona-xtrabackup-2.3.10-Linux-x86_64/bin

shell> vi /etc/profile

export PATH=/mysql/app/bin:/XtraBackup/percona-xtrabackup-2.3.10-Linux-x86_64/bin:$PATH

shell> source /etc/profile

shell> su -

至此,Percona Xtrabackup部署完成。

二、常用的参数列表

常用参数 含义
-u 账户
-p 密码
-P 端口
-S 套接字
-H 主机ip
--defaults-file 读取参数文件位置
--databases 指定数据库
--no-timestamp 不生成时间戳
--slave-info 获取主库端binlog位置
--incremental 创建增量备份

--incremental-basedir

指定full backup目录

--incremental-dir 增量备份目录
--redo-only 增量恢复使用
--apply-log 应用日志
--copy-back 拷贝到相应目录
--move-back 移动到相应目录

三、备份恢复案例

3.1 全局备份恢复

3.1.1 全局备份

1

innobackupex --defaults-file=/etc/my.cnf --socket=/tmp/mysql.sock -uroot -pmysql [--slave-info]  /xtrabak

3.1.2 日志应用

1

innobackupex --apply-log /Xtrabackup/backup/2018-07-28_15-11-12

3.1.3全局恢复

1

innobackupex --defaults-file=/etc/my.cnf --copy-back /Xtrabackup/backup/2018-07-28_15-11-12

注:使用copy-back参数 datadir目录必须为空

3.2单表/多表备份恢复

3.2.1单表/多表备份

1

innobackupex --defaults-file=/usr/my.cnf --socket=/tmp/mysql.sock  -uroot -proot (-–slave-info) --no-timestamp --databases="yzw.a [yzw.b]" /xtrabak

注:格式为 库名.表名,可同时将不同库下表进行导出

3.2.2日志应用

1

innobackupex --apply-log /Xtrabackup/backup/2018-07-28_15-11-12

3.2.3单表恢复

1.恢复准备,应用日志从开始点到备份结束点

1

innobackupex --apply-log --export /xtrabackup/backup

2.生产端获取建表语句并在目标端创建

3.目标端卸载ibd文件

1

alter table test.a discard tablespace;

4.目标端拷贝备份文件至库目录

1

cp a.cfg a.exp a.ibd /var/lib/mysql/data/test/

5.目标端修改拷贝文件权限

1

chown -R mysql:mysql /var/lib/mysql/data/test/

6.目标端加载表空间.ibd 文件

1

alter table test.a import tablespace;

3.3增量备份恢复

3.3.1增量备份

第一次全量备份

1

innobackupex --defaults-file=/etc/my.cnf --socket=/tmp/mysql.sock -uroot -pmysql --no-timestamp  /xtrabak/full

第一次增量备份    注:增量备份必须在全库备库基础上

1

innobackupex --defaults-file=/etc/my.cnf -uroot -pmysql --socket=/tmp/mysql.sock --no-timestamp --incremental /xtrabak/incre1 --incremental-basedir=/xtrabak/full

第二次增量备份

1

innobackupex --defaults-file=/etc/my.cnf -uroot -pmysql --socket=/tmp/mysql.sock --no-timestamp --incremental /xtrabak/incre2 --incremental-basedir=/xtrabak/incre1

注:此时incremental-basedir 指向第一次增量备份目录

3.3.2日志应用

第一次应用备份文件

1

innobackupex --apply-log --redo-only /xtrabak/full

第二次应用备份文件

1

innobackupex --apply-log --redo-only /xtrabak/full --incremental-dir=/xtrabak/incre1

第三次应用备份文件

1

innobackupex --apply-log /xtrabak/full --incremental-dir=/xtrabak/incre2

注:--redo-only参数 除最后一份增量文件的应用时不需要添加该参数外,其余都要加上该参数!!!

3.3.3全局恢复

1

innobackupex --defaults-file=/etc/my.cnf --move-back /Xtrabackup/backup/2018-07-28_15-11-12

注:--move-back参数将备份出来文件直接mv到datadir目录,建议使用--copy-back

3.4压缩特性

3.4.1压缩备份

1

innobackupex --defaults-file=/etc/my.cnf  --user=root --password=mysql --no-timestamp --compress --compress-threads=8  /xtrabak

3.4.2解压备份文件

解压decompress

1

innobackupex --decompress /xtrabak

注:需要提前安装qpress命令,安装方式如下

1

2

3

shell> wget 

shell> tar xvf qpress-11-linux-x64.tar

shell> cp qpress /usr/bin

3.4.3日志应用

1

innobackupex --apply-log /xtrabak

3.4.4全局恢复

1

innobackupex --defaults-file=/etc/my.cnf --copy-back /xtrabak

3.5流特性

3.5.1流备份

1

innobackupex --defaults-file=/etc/my.cnf --user=root --password=mysql --stream=tar --no-timestamp  /xtrabak  1>/xtrabak/full.tar

注:直接生成tar包

3.5.2解压备份文件

1

tar -xvf full.tar

3.5.3日志应用

1

innobackupex --apply-log /xtrabak

3.5.4全局恢复

1

innobackupex --defaults-file=/etc/my.cnf --copy-back /xtrabak

MySQL备份与恢复——基于Xtrabackup物理备份恢复相关推荐

  1. MySQL备份与恢复——基于OUTFILE /LOAD DATA 逻辑备份恢复

    一.说明 在OUTFILE /LOAD DATA 逻辑备份中强烈建议备份恢复均明确指定字符集CHARACTER SET charset_name,避免乱码的出现发生.默认读取character_set ...

  2. mysql 数据库 xtrabackup (完全备份恢复,恢复后重启失败总结)

    一. 完全备份恢复说明 xtrabackup二进制文件有一个xtrabackup --copy-back选项,它将备份复制到服务器的datadir目录下.下面是通过 --target-dir 指定完全 ...

  3. mysql数据库物理备份_MySQL数据库之xtrabackup物理备份(一)

    (1)备份开始时会开启一个后台检测进程,实时检测mysql redo(已提交的事务)的变化,一旦发现redo中有新日志写入,立刻将日志记入后台日志文件xtrabackup_log中, (2)复制Inn ...

  4. Mysql主从同步复制(快速构建,基于CP数据备份 恢复)

    目录 相关 思路 主库 1.检查主库是否开启log-bin 2.开启log-bin 3.重启MySQL 4.检查生成的log-bin目录 5.进入MySQL,锁表,记录POS号 6.备份mysql文件 ...

  5. 刘子佼 mysql 下载_MySQL数据管理之备份恢复案例解析 23讲 Mysql备份恢复实战 视频教程...

    课程名称:MySQL数据管理之备份恢复案例解析 23讲 Mysql备份恢复实战课程简介: 课程独家解析MySQL 5.6最新特性,课程讲师刘子佼讲课风格幽默,善于与人沟通,善于组建和协调团队攻克技术难 ...

  6. XtraBackup 物理备份工具

    原文地址:https://www.cpweb.top/1046 一.工具介绍   XtraBackup是percona公司的一个产品,它是用于MySQL的开源热备份工具,在备份过程中不会锁表(针对In ...

  7. MySQL增删改查及备份恢复

    数据库创建及增删改查 创建数据库: mysql> create database abc; 连接数据库: mysql> use abc; 创建表: mysql> create tab ...

  8. Xtrabackup的备份恢复操作

    文章目录 一.下载安装Xtrabackup 二.工具介绍 三.工作流程 四.准备工作 4.1 连接参数 4.2 创建用户及授权 五.备份操作 5.1 全备破坏性测试(使用xtrabackup) 5.2 ...

  9. mysql 导入单个表_MySQL 备份恢复(导入导出)单个 innodb表

    MySQL 备份恢复单个innodb表呢,对于这种恢复我们我们很多朋友都不怎么了解了,下面一起来看一篇关于MySQL 备份恢复单个innodb表的教程 在实际环境中,时不时需要备份恢复单个或多个表(注 ...

最新文章

  1. puppeteer爬虫的奇妙之旅
  2. zabbix--监控MySQL主从状态
  3. Nature Communications:实时记录神经系统,解开大脑秘密
  4. Oracle常用工具
  5. 如果在CSDN博文编辑状态下获得博文最终网络链接?
  6. python之父叫什么-Python之父谈Python的未来形式
  7. 手写自己的MyBatis框架-SqlSession
  8. 面试分享:那些年我经历过的一些面试,以及得到的一些面试心得!
  9. linux命令行模式下实现代理上网 专题
  10. 有些人,理他就输了!
  11. 如何最大程度地提高cin和cout的效率
  12. MDX Cookbook 08 - 基于集合上的迭代递归
  13. VC无进程木马下载器源码
  14. WORD文档编辑锁定
  15. 用自动控制理论分析电力电子中的基本斩波电路
  16. linux cpu 温度 代码,linux CPU温度
  17. 做产品路线图规划用什么工具?
  18. 2023-2029全球斑马鱼行业调研及趋势分析报告
  19. Java学习之路 第三章 流程控制
  20. itpub上的ORACLE之常用FAQ V1.0(转)

热门文章

  1. 上传数据时 ajax请求成功 上传完成,ajaxSubmit请求返回数据成功,但是不执行success回调函数...
  2. java主界面设置背景图片_java 窗体设置背景图片问题?(附上登陆界面代码,我想加个背景图片,求大神帮忙改改)...
  3. PyTorch基础-线性回归以及非线性回归-02
  4. 17-爬虫之scrapy框架五大核心组件工作流程及下载中间件介绍04
  5. 分支限界发:Dijkstra算法
  6. mysql的所有权限
  7. 穷不过三代,囧不过三个公司——程序员如何通过努力让自己看上去很光鲜
  8. ECshop二次开发 ECSHOP首页显示积分商城里的商品
  9. Oracle分析函数——函数列表
  10. Scrapy爬虫-win7下创建运行项目