IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> XtraBackup介绍 -> 正文阅读

[大数据]XtraBackup介绍

??? 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/

?

?

?

?

?

?

?

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-12 17:36:19  更:2022-03-12 17:39:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:37:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码