数据库备份文件是支撑数据库数据安全与稳定的重要文件,为提高数据库备份文件的安全性,云数据库 MySQL 版支持对备份文件进行加密。如将加密后的备份文件下载到本地使用,则需要对备份文件进行解密。本文介绍为备份文件解密的操作步骤。
已下载目标备份文件至本地。更多关于下载数据备份文件的详细信息,请参见下载数据备份文件;更多关于下载日志备份文件的详细信息,请参见下载 Binlog 备份。
已下载目标备份文件的密钥至本地。更多关于下载备份文件密钥的详细信息,请参见下载备份文件密钥。
解密数据备份文件
将数据备份文件和数据备份文件的密钥存放在同一个目录。
通过 cat
命令查看密钥的 key。
创建 MySQL 数据目录。
执行 xbstream 解密。
xbstream -x -v --decompress --decrypt=AES256 --encrypt-key='fa5056474928d5cfe2eeff02edcaceff' -C mysql_data < full-1713236719753042916.xbstream
解压完成之后,确认数据目录的数据已经正确解压。
解密 binlog 备份
将 binlog 备份文件和 binlog 备份文件的密钥存放在同一个目录。
查看密钥中保存的秘钥和向量,并通过 xxd
获得对应的 16 进制值。
key=`echo -n b2afbc4c598bf9f613a9b07d128818e3 | xxd -p | tr -d '[:space:]'` iv=`echo -n b56727bcdf6be13e | xxd -p | tr -d '[:space:]'`
通过 openssl
将文件解密。
openssl enc -d -aes-256-cbc -K $key -iv $iv -in binlog-1713237686709023371-binlog.000014 -out binlog.000014
验证 binlog 备份文件的正确性。
mysqlbinlog -vv binlog.000014