加密备份¶
雷竞技下载官网Percona XtraBackup实现了对加密备份的支持。它可以使用xbstream选项加密/解密本地备份或流备份(不支持流tar备份),以便为备份添加另一层保护。加密是用libgcrypt图书馆。
创建加密备份¶
要进行加密备份,需要指定以下选项(options . txt)xtrabackup——encrypt-key和xtrabackup——encrypt-key-file是互斥的,即只需要提供其中一个):
——=加密算法目前支持的算法有:AES128,AES192和AES256——encrypt-key = ENCRYPTION_KEY-使用适当长度的加密密钥。如果可以通过命令行不受控制地访问机器,因此键可以被视为进程信息的一部分,则不建议使用此选项。——encrypt-key-file =密钥文件—可以读取相应长度的原始键的文件名。该文件必须是一个简单的二进制(或文本)文件,其中恰好包含要使用的密钥。
这两个xtrabackup——encrypt-key选项,xtrabackup——encrypt-key-file选项可用于指定加密密钥。加密密钥可以通过以下命令生成:
美元openssl兰德base6424
该命令的示例输出应该如下所示:
GCHFLrDFVx6UAsRb88uLVbAVWbK + Yzfs
这个值可以用作加密密钥
使用——encrypt-key选项¶
使用xtrabackup命令xtrabackup——encrypt-key应该是这样的:
美元xtrabackup——备份——target-dir=/数据/备份——加密=AES256\——encrypt-key=“GCHFLrDFVx6UAsRb88uLVbAVWbK + Yzfs”
使用——encrypt-key-file选项¶
使用xtrabackup命令xtrabackup——encrypt-key-file应该是这样的:
美元xtrabackup——备份——target-dir=/ /备份/数据——加密=AES256\——encrypt-key-file=/数据/备份/密钥文件
请注意
属性所使用的文本编辑器密钥文件在某些情况下,文本文件可以包含CRLF,这将导致密钥大小增长,从而使其无效。建议这样做的方法是创建文件:echo -n "GCHFLrDFVx6UAsRb88uLVbAVWbK+Yzfs" > /data/backups/keyfile . echo -n "GCHFLrDFVx6UAsRb88uLVbAVWbK+Yzfs
优化加密过程¶
加密备份引入了两个选项,可用于加快加密过程。这些都是xtrabackup——encrypt-threads和xtrabackup——encrypt-chunk-size.通过使用xtrabackup——encrypt-threads选项可以指定多个线程用于并行加密。选项xtrabackup——encrypt-chunk-size可用于为每个加密线程指定工作加密缓冲区的大小(以字节为单位)(默认为64K)。
解密加密备份¶
雷竞技下载官网Percona XtraBackupxtrabackup——解密选项已实现,可用于解密备份:
美元xtrabackup——解密=AES256——encrypt-key=“GCHFLrDFVx6UAsRb88uLVbAVWbK + Yzfs”\——target-dir=/ /备份/数据
雷竞技下载官网Percona XtraBackup不会自动删除加密文件。为了清理备份目录,用户应该删除*。xbcrypt文件。在雷竞技下载官网Percona XtraBackup2.4.6xtrabackup——remove-original选项已实现,您可以使用该选项在加密文件被解密后删除它们。要删除文件一旦他们被解密,你应该运行:
美元xtrabackup——解密=AES256——encrypt-key=“GCHFLrDFVx6UAsRb88uLVbAVWbK + Yzfs”\——target-dir=/ /备份/数据——remove-original
请注意
xtrabackup——平行可与xtrabackup——解密选项解密多个文件同时。
当文件被解密后,就可以准备备份了。
准备加密备份¶
方法对备份进行解密后,可以按照与标准完全备份相同的方式进行准备xtrabackup——准备选择:
美元xtrabackup——准备——target-dir=/ /备份/数据
恢复加密备份¶
Xtrabackup有一个xtrabackup——复制回去选项,该选项将备份恢复到服务器的datadir:
美元xtrabackup——复制回去——target-dir=/ /备份/数据
它将把所有与数据相关的文件复制回服务器datadir,由服务器决定my.cnf配置文件。您应该检查输出的最后一行是否有成功消息:
170214 12:37:01完成OK!