一 版本说明:

1、xtrabackup2.4可以备份5.1,5.5,5.6,5.7版本的MySQL,不能备份MySQL8.0及以上版本,

2、如果要备份MySQL8.x版本,使用xtrabackup8.0版本(xtrabackup8.0.12以前版本不支持MySQL8.0.20及以后版本的备份),

所以建议使用xtrabackup8.0.12及以上版本,另外xtrabackup8.x只能备份MySQL8.X系列,不能备份MySQL5.X版本

二 xtrabackup8.0.12相比之前版本有哪些新特性:

1、支持系统表空间加密

2、支持LZ4加密算法(--compress=lz4 --compress-threads=N).

三 xtrabackup2.4介绍:

1、备份步骤

1)开始记录redo log 的LSN

2) copy innodb表数据文件,与此同时,一个后台进程监视redo log的变化,将变化写入redo log 的备份文件

3)当innodb数据文件备份完成后,加FLUSH TABLES WITH READ LOCK,备份non-innodb 文件(lock table with backup 代替FTWRL锁,不过只对于percona server 5.6+)

4) non-innodb文件备份完成后,记录当时的binlog位置,这时备份redo log进程还在

5)完成redo log备份,释放FTWRL锁,完成备份

2、安装

当前最新版本2.4.20

https://www.percona.com/downloads/Percona-XtraBackup-2.4/LATEST/

1) 解压

2) 设置环境变量

vim /etc/profile

export PATH=$PATH:/usr/local/mysql/bin:/tools/percona-xtrabackup-2.4.20-Linux-x86_64/bin

source /etc/profile

3、先决条件

mysql> CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY 's3cret';

mysql> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO

'bkpuser'@'localhost';

mysql> FLUSH PRIVILEGES;

4、备份场景

1) 全量备份

2)增量备份

3)压缩备份

4)加密备份

5、使用说明

innobackupex

innobackupex是xtrabackup的软链接。Innobackupex仍然支持2.2版本所有功能和语法,但现在已被废弃,并将在下一个主要版本中删除。

xtrabackup

一个编译的C二进制文件,它提供了备份整个MySQL数据库实例的功能,包括MyISAM、InnoDB和XtraDB表。

xbcrypt

用于加密和解密备份文件的实用程序。

xbstream

允许流和从xbstream格式提取文件的实用程序。

xbcloud

实用程序,用于从/到云下载和上传xbstream存档的全部或部分。

强烈推荐使用xtrabackup工具进行日常备份。

6、xtrabackup主要选项

1)--backup

执行备份必须的选项

2)--target-dir

指定备份到该目录,如果不存在目录,会自动创建(注意不能是级联目录都不存在)

3)DSN(-h -P -u -p -S)

指定ip,port,user,password,socket等

4)以下两个参数控制当系统中出现长事务时xtrabackup执行FTWRL锁的行为

--ftwrl-wait-threshold=SECONDS 依赖于--ftwrl-wait-timeout=SECONDS,默认值60s,当--ftwrl-wait-timeout=0时,该参数不生效

--ftwrl-wait-timeout=SECONDS,默认值0,表示不关注长事务,直接执行FTWRL锁。如果非0,表示xtrabackup通过show processlist的方式,获取是否存在sql已经执行超过--ftwrl-wait-threshold 的值,如果超过了,

则在执行FTWRL锁之前等待--ftwrl-wait-timeout时间,如果该sql未执行完成,xtrabackup进程退出备份。如果一个慢sql刚刚开始执行,执行时间还未超过--ftwrl-wait-threshold 的值,

那么xtrabackup还是会执行FTWRL锁,这时候执行FTWRL还是会被block住。

5) --apply-log-only

增量备份时,在prepare阶段应用redo日志

6)--binlog-info

此选项控制xtrabackup备份工具应如何检索与备份对应二进制日志坐标,一般备份无需指定该参数,默认即可

OFF: 不获取binlog坐标,不会生成xtrabackup_binlog_info文件

ON: 遍历binlog文件获取坐标,生成xtrabackup_binlog_info文件

LOCKLESS:目前只在Percona Server实现,官方MySQL版本不支持该值

AUTO:默认值,在ON和LOCKLESS之间自动选择,优先选择LOCKLESS,如果不支持LOCKLESS,那么选择ON

7)--compress

此选项告诉xtrabackup使用指定的压缩算法压缩所有输出数据,包括事务日志文件和元数据文件。 目前唯一支持的算法是quicklz,

结果文件具有qpress存档格式,如*.qp格式

8)--compress-threads=#

此选项指定xtrabackup用于并行数据压缩的工作线程数。 此选项默认为1。 并行压缩可以与并行文件复制--parallel一起使用。

例如, --parallel=4 --compress --compress-threads=2 将创建4个I/O线程,这些线程将读取数据并将其管道到2个压缩线程。

9)--copy-back

将先前备份的所有文件从备份目录复制到实例的数据目录。

10)--move-back

将先前备份的所有文件从备份目录move到实例的数据目录。

11)--databases=#

此选项指定应备份的数据库和表列表。 该选项接受表单“databasename1[.table_name1]databasename2[.table_name2]...”的列表]

12)--databases-exclude=name

不包括基于名称的数据库,操作方式与--databases相同,但匹配的名称不包括在备份中。 请注意,此选项比--databases具有更高的优先级。

13)--databases-file=#

此选项指定文件的路径,该文件包含应备份的数据库和表列表。 该文件可以包含表单databasename1[.table_name1]的列表元素,每行一个元素。

14)--decompress

解压.qp文件,可以跟--parallel配合使用,采用多线程解压

15)--defaults-file=[MY.CNF]

指定my.cnf的路径

16)--export

用来恢复单个表

17)--parallel=#

采用多线程备份,可以搭配copy-back,--decompress

18)--prepare

应用redlo日志,达到数据一致性

19)--safe-slave-backup

当指定时,xtrabackup将在运行FLUSH TABLES WITH READ LOCK之前停止从SQL线程,并等待直到SHOW状态中的Slave_open_temp_tables为零才开始备份。

如果没有打开的临时表,将进行备份,否则将启动和停止SQL线程,直到没有打开的临时表。 如果Slave_open_temp_tables在xtrabackup-safe-slave-backup-timeout秒后没有变为零,

则备份将失败。 备份完成后将重新启动从SQL线程。这个选项是为了处理复制临时表问题而实现的,row格式不存在该问题。

20)--slave-info

此选项在备份从服务器时非常有用。 它打印主服务器的二进制日志位置。 它还将二进制日志坐标写入xtrabackup_slave_info文件,作为Change MASTER命令。

可以通过xtrabackup_slave_info文件中的二进制日志位置的CHANGE MASTER命令来设置此主服务器的新从服务器。

21)--throttle=#

用来限制带宽,默认大小10MB, 如果--throttle=1表示带宽为10MB/S

mysql xtrabackup-v2_MySQL物理备份基础知识(基于xtrabackup2.4版本)相关推荐

  1. MySQL 云数据库物理备份本地恢复方案

    在国内不论是使用阿里云.腾讯云还是华为云的云平台版本的 MySQL 数据库,在遇到数据备份恢复的场景,都会遇到需要使用 Percona XtraBackup 工具进行备份还原的需求. 看着网上一堆既啰 ...

  2. mysql xtrabackup还原_xtrabackup备份恢复Mysql

    Mysql增量备份Xtrabackup中包含两个工具:xtrabackup - 用于热备份innodb, xtradb表的工具,不能备份其他表(MYISAM表).innobackupex - 对xtr ...

  3. mysql 死锁监视器_并发基础知识:死锁和对象监视器

    mysql 死锁监视器 本文是我们名为Java Concurrency Essentials的学院课程的一部分. 在本课程中,您将深入探讨并发的魔力. 将向您介绍并发和并发代码的基础知识,并学习诸如原 ...

  4. mysql 立方根函数_PostgreSQL基础知识之SQL操作符实践指南

    前言 操作符是数据库具有的运算特性,对文本字符和一些标签字符的处理,使用操作符可以简化SQL代码,同时也可以节省开发时间和提高开发效率. 比较操作符 在PostgreSQL中,所有的数据类型都可以使用 ...

  5. mysql自动增长 sql,SQL基础知识V2——自增长列

    SQL专栏 SQL数据库基础知识汇总 SQL数据库高级知识汇总 自增长列的作用 自增长列会在新记录插入表中时生成一个唯一的数字. 我们通常希望在每次插入新记录时自动创建主键字段的值. 我们可以在表中创 ...

  6. thinkphp mysql日志_MySQL的日志基础知识及基本操作学习教程

    MySQL日志主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志: 日志是mysql数据库的重要组成部分.日志文件中记录着mysql数据库运行期间发生的变化:也就是说用来记录mysql数据 ...

  7. 1在mysql进行定义操作系统_Mysql基础知识一

    1.数据库的定义 数据:描述事物符号记录.(包括数字.文字.图形.图像.声音.档案记录等)以记录形式统一的格式进行存储.广义上的数据:出现在计算机内部的一切二进制数据流都为数据狭义上的数据:只是数字或 ...

  8. mysql xtrabackup还原_Xtrabackup备份、还原、恢复Mysql操作大全

    #数据目录:/data/mysql $ mkdir -pv /backup/3306/20171107/{full,inc1,inc2} #本地 单实例 全量备份 $ innobackupex --d ...

  9. mysql 查询优化 ~ 多表查询基础知识

    一 什么是驱动表    1)指定了联接条件时,满足查询条件的记录行数少的表为[驱动表]:    2)未指定联接条件时,行数少的表为[驱动表](Important!).    表现 explain第一行 ...

  10. mysql 表 组织 管理_MySQL 基础知识梳理学习(二)----记录在页面层级的组织管理...

    1.InnoDB的数据存储结构 InnoDB中数据是通过段.簇.页面构成的. (1)段是表空间文件中的主要组织结构,它是一个逻辑概念,用来管理物理文件,是构成索引.表.回滚段的基本元素.创建一个索引( ...

最新文章

  1. linux内核与设备驱动,第二章 Linux内核与设备驱动程序
  2. 一篇文章教会你使用html+css3制作GIF图
  3. 企业微信H5_网页jssdk调用 判断当前客户端版本是否支持指定JS接口
  4. php fetch返回false,Php fetch返回字符串而不是布爾值“true / false”值
  5. Linux 增加swap空间大小
  6. 编码 —— PCM 编码
  7. Prompt learning入门
  8. JSP中使用的模式——JSP+Servlet+JavaBean
  9. 开心消消乐、纯前端实现开心消消乐、开心消消乐代码、HTML+JS实现开心消消乐
  10. 3dmax如何使用模型快速切片命令
  11. 百年通信史:落后西方半世纪的中国,用20年绝地反杀!
  12. Excel函数、快捷键等
  13. 理解 Rack 应用及其中间件
  14. vue项目中金额小写转换为汉字大写的功能封装
  15. 云南大学计算机专业双一流排名,盘点:42所“双一流”大学的一流学科!
  16. 华为服务器显示器蓝屏怎么办,华为交换下误接TP-LINK交换导致监控画面蓝屏的解决方案...
  17. 饥荒服务器文档,建立饥荒服务器
  18. CSS之背景样式及边框样式
  19. img 标签 引入svg图片
  20. 手机怎样设置一个高考倒计时便签,可以天天看见那种

热门文章

  1. Java for selenium(webdriver) 环境搭建
  2. 【转】mysql createtable errno 121 150 错误 建表错误 外键
  3. GPT分区表出现问题后的数据恢复思路
  4. 蓝桥杯 振兴中华——2013年省赛C/C++ A组真题3
  5. php页面不刷新 图片的src不更新,详解iframe的src指向的内容不刷新的解决办法
  6. java中怎么把系统格式化_如何在java中格式化1200到1.2k
  7. python 100 days github_GitHub - Andyhe2019/Python-100-Days: Python - 100天从新手到大师
  8. 服务器网站出现service,网站出现service unavailable的解决方法
  9. 无边框Button(WPF)
  10. Mac下使用Docker快速搭建pinpont追踪系统APM