https://blog.csdn.net/wfs1994/article/details/80396604

Percona XtraBackup是一款基于MySQL的服务器的开源热备份实用程序,在备份过程中不会锁定数据库。它可以备份来自MySQL5.1,5.5,5.6和5.7服务器上的InnoDB,XtraDB和MyISAM表的数据,以及带有XtraDB的Percona服务器。

Percona XtraBackup为所有版本的Percona Server,MySQL和MariaDB进行MySQL热备份。它执行流,压缩和增量MySQL备份。
功能:

在不暂停数据库的情况下创建热的InnoDB备份
    进行MySQL的增量备份
    将压缩的MySQL备份传输到另一台服务器
    在MySQL服务器之间移动表格
    轻松创建新的MySQL复制从站
    在不增加服务器负载的情况下备份MySQL

下载地址:https://www.percona.com/downloads/XtraBackup/LATEST/
官方文档:https://www.percona.com/doc/percona-xtrabackup/LATEST/index.html#user-s-manual
参数说明:
https://www.percona.com/doc/percona-xtrabackup/LATEST/xtrabackup_bin/xbk_option_reference.html

yum安装

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
yum list | grep percona
yum install percona-xtrabackup-24

或者rpm下载到本地安装:

wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.11/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm
yum localinstall percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm

安装文件说明:

# rpm -ql percona-xtrabackup-24-2.4.11-1.el7.x86_64
/usr/bin/innobackupex     # xtrabackup 的软连接
/usr/bin/xbcloud
/usr/bin/xbcloud_osenv
/usr/bin/xbcrypt         #加密解密用
/usr/bin/xbstream        #类似于tar,是 Percona 自己实现的一种支持并发写的流文件格式
/usr/bin/xtrabackup
/usr/lib64/xtrabackup/plugin/keyring_file.so
/usr/lib64/xtrabackup/plugin/keyring_vault.so
/usr/share/doc/percona-xtrabackup-24-2.4.11
/usr/share/doc/percona-xtrabackup-24-2.4.11/COPYING
/usr/share/man/man1/innobackupex.1.gz
/usr/share/man/man1/xbcrypt.1.gz
/usr/share/man/man1/xbstream.1.gz
/usr/share/man/man1/xtrabackup.1.gz

innobackupex 功能全部集成到 xtrabackup 里面,只有一个 binary,另外为了使用上的兼容考虑,innobackupex作为 xtrabackup 的一个软链,即xtrabackup现在支持非Innodb表备份,并且Innobackupex在下一版本中移除,建议通过xtrabackup替换innobackupex。

在当前2.4.11版本中innobackupex命令已经被弃用,但仍然以xtrabackup软连接的形式存在,

# innobackupex --help
NOTICE: 'innobackupex' is deprecated, please switch to 'xtrabackup'
# ll /usr/bin/innobackupex
lrwxrwxrwx 1 root root 10 May 17 20:34 /usr/bin/innobackupex -> xtrabackup

两者的用法也有些区别,可以参考:
innobackupex命令用法实战
xtrabackup命令用法实战

连接到服务器

$ xtrabackup --user=DVADER --password=14MY0URF4TH3R --backup --target-dir=/data/bkps/
$ innobackupex --user=DBUSER --password=SECRET /path/to/backup/dir/
$ innobackupex --user=LUKE --password=US3TH3F0RC3 --stream=tar ./ | bzip2

RELOAD and LOCK TABLES (unless the --no-lock option is specified) in order to FLUSH TABLES WITH READ LOCK and FLUSH ENGINE LOGS prior to start copying the files, and LOCK TABLES FOR BACKUP and LOCK BINLOG FOR BACKUP require this privilege when Backup Locks are used,
REPLICATION CLIENT in order to obtain the binary log position,
CREATE TABLESPACE in order to import tables (see Restoring Individual Tables),
PROCESS in order to run SHOW ENGINE INNODB STATUS (which is mandatory), and optionally to see all threads which are running on the server (see Improved FLUSH TABLES WITH READ LOCK handling),
SUPER in order to start/stop the slave threads in a replication environment, use XtraDB Changed Page Tracking for Incremental Backups and for Improved FLUSH TABLES WITH READ LOCK handling,
CREATE privilege in order to create the PERCONA_SCHEMA.xtrabackup_history database and table,
INSERT privilege in order to add history records to the PERCONA_SCHEMA.xtrabackup_history table,
SELECT privilege in order to use innobackupex --incremental-history-name or innobackupex --incremental-history-uuid in order for the feature to look up the innodb_to_lsn values in the PERCONA_SCHEMA.xtrabackup_history table.

使用完整备份所需的最低权限创建数据库用户的SQL示例为:

mysql> CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY 's3cret';
mysql> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'bkpuser'@'localhost';
mysql> FLUSH PRIVILEGES;

$ xtrabackup --backup --target-dir=/data/backups/inc1 --incremental-basedir=/data/backups/base

$ xtrabackup --backup --target-dir=/data/backups/inc2 --incremental-basedir=/data/backups/inc1

$ xtrabackup --prepare --apply-log-only --target-dir=/data/backups/base --incremental-dir=/data/backups/inc1

$ xtrabackup --prepare --target-dir=/data/backups/base --incremental-dir=/data/backups/inc2

 $ xtrabackup --backup --compress --compress-threads=4 --target-dir=/data/compressed/

--encrypt=ALGORITHM
    目前支持的算法是: AES128,AES192和AES256
--encrypt-key=ENCRYPTION_KEY
    使用适当长度的加密密钥。不建议在通过命令行访问机器的情况下使用此选项,因此可以将该密钥视为过程信息的一部分。
--encrypt-key-file=KEYFILE
    可从中读取适当长度的原始密钥的文件的名称。该文件必须是一个简单的二进制(或文本)文件,其中包含准确使用的密钥。

生成秘钥:

$ openssl rand -base64 24
GCHFLrDFVx6UAsRb88uLVbAVWbK+Yzfs

使用该--encrypt-key选项:

$ xtrabackup --backup --target-dir=/data/backups --encrypt=AES256 --encrypt-key="GCHFLrDFVx6UAsRb88uLVbAVWbK+Yzfs"

使用该--encrypt-key-file选项:

$ xtrabackup --backup --target-dir=/data/backups/ --encrypt=AES256 --encrypt-key-file=/data/backups/keyfile

建议的方法是使用以下命令创建文件:
echo -n "GCHFLrDFVx6UAsRb88uLVbAVWbK+Yzfs" > /data/backups/keyfile

2.优化加密过程
已经引入了两个选项,这些加密备份可用于加速加密过程。他们是 xtrabackup --encrypt-threadsxtrabackup --encrypt-chunk-size

xtrabackup --encrypt-threads    #可以指定多个线程并行地进行加密。
xtrabackup --encrypt-chunk-size #可用于指定每个加密线程的工作加密缓冲区的大小(以字节为单位)(默认值为64K)。
3.解密加密过程

Percona XtraBackup xtrabackup --decrypt选项可用于解密备份:$ xtrabackup --decrypt=AES256 --encrypt-key="GCHFLrDFVx6UAsRb88uLVbAVWbK+Yzfs" --target-dir=/data/backups/Percona XtraBackup不会自动删除加密文件。为了清理备份目录,用户应该删除这些*.xbcrypt 文件。您可以使用xtrabackup --remove-original选项在解密后删除加密文件$ xtrabackup --decrypt=AES256 --encrypt-key="GCHFLrDFVx6UAsRb88uLVbAVWbK+Yzfs" --target-dir=/data/backups/ --remove-original

4.准备加密备份

$ xtrabackup --prepare --target-dir=/data/backups/

5.恢复加密的备份

$ xtrabackup --copy-back --target-dir=/data/backups/

XtraBackup介绍相关推荐

  1. Xtrabackup介绍与原理

    一.Xtrabackup介绍 MySQL冷备.mysqldump.MySQL热拷贝都无法实现对数据库进行增量备份.在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况 ...

  2. Percona XtraBackup 安装介绍篇

    XtraBackup介绍 XtraBackup是Percona公司的开源项目,用以实现类似Innodb官方的热备份工具InnoDB Hot Backup的功能,它支持在线热备份(备份时不影响数据读写) ...

  3. xtrabackup 备份及介绍

    ------------------ Xtrabakcup工作原理 1.xtrabackup介绍 2.Xtrabakcup安装 3.Xtrabakcup使用 3.1.用户权限说明 1.系统用户 2.数 ...

  4. mysql xtrabackup_MySQL 数据热备工具 XtraBackup 的介绍及使用

    XtraBackup 介绍 Percona XtraBackup 是一款基于 MySQL 的服务器的开源热备份实用程序,在备份过程中不会锁定数据库.它可以备份来自 MySQL5.1,5.5,5.6 和 ...

  5. Xtrabackup实现数据的备份与恢复

    Xtrabackup介绍 Xtrabackup是由percona开源的免费数据库热备份软件,它能对InnoDB数据库和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁): ...

  6. MySQL中使用innobackupex、xtrabackup进行大数据的备份和还原

    大数据量备份与还原,始终是个难点.当MYSQL超10G,用mysqldump来导出就比较慢了.在这里推荐xtrabackup,这个工具比mysqldump要快很多. 本文还参考了:http://blo ...

  7. XtraBackup做mysql主从同步

    一.背景: 线上一个主库压力比较大,所以增加一个从库,但是不能重启或者停止主库的正常运行,不能锁库锁表影响业务的正常运行.所以这里想到了XtraBackup 二.XtraBackup介绍: Xtrab ...

  8. centos rpm 安装 perl_XtraBackup工具详解 Part 2 xtrabackup安装

    实验环境 此次实验的环境如下 MySQL 5.7.25 Redhat 6.10 1. xtrabackup版本 我们在官方网站可以看到xtrabackup有多个版本 https://www.perco ...

  9. xtrabackup实现数据备份与恢复

    转自:https://www.cnblogs.com/youkanyouxiao/p/8335173.html Xtrabackup介绍 Xtrabackup是由percona开源的免费数据库热备份软 ...

最新文章

  1. 77.Linux系统日志,screen工具介绍
  2. iOS内存管理知识点
  3. Can't get attribute '_rebuild_tensor_v2' on module 'torch._utils'
  4. UVa12604 Caesar Cipher(kmp)
  5. HDU1002 Problem II(大数相加)(C++题解)
  6. UA MATH567 高维统计IV Lipschitz组合9 矩阵函数、半正定序与迹不等式
  7. xfce4面板消失了解决方案+xfce4的面板保存设置以及读取
  8. Fiori navigation logic ( Route )
  9. php中多重继承,PHP面向对象之多重继承与接口用法
  10. PostgreSQL定时自动备份
  11. Netgear业务交换机被曝15个漏洞,有些不修复
  12. 威胁情报工具:更快?更聪明?
  13. Spring整合JMS——三种connectionFactory
  14. 《深入理解计算机系统》CSAPP第三章知识点归纳(看完一遍复习专用)
  15. 《初级会计电算化应用教程(金蝶KIS专业版)》——导读
  16. ad9原理图转到orcad capture16.5
  17. c语言是结构化 模块化的编程语言,结构化程序设计和模块化结构
  18. excel odc连接文件的创建和使用
  19. 华硕笔记本开机直接进入bios解决方法
  20. cadence 通孔焊盘_[转载]Cadence学习3(通孔类焊盘的建立)(转)

热门文章

  1. java计算机毕业设计精准扶贫项目管理系统源码+mysql数据库+系统+lw文档+部署
  2. JS全屏代码,解决PDF.js在iframe中部分浏览器全屏功能错误
  3. 初识UE4 VR开发三
  4. 怎样真正确保教师工资待遇 丹比奴
  5. opencv_python拉动进度条实现两幅图片融合及一幅图片自动平滑切换成另一张图片
  6. 网络爬虫工作原理详解
  7. 吉大软件专硕896-2008
  8. 关于Android Studio无法检测到夜神模拟器的原因及解决方案
  9. 计算机安装操作系统后 操作系统即驻留在,江苏省计算机等级考试一级历年真题(06-12)第三章计算机软件附答案...
  10. SD卡烧录镜像后插电脑不显示问题