You need to enable JavaScript to run this app.
导航
解密备份文件
最近更新时间:2024.06.20 14:05:46首次发布时间:2024.06.20 14:05:46

数据库备份文件是支撑数据库数据安全与稳定的重要文件,为提高数据库备份文件的安全性,云数据库 MySQL 版支持对备份文件进行加密。如将加密后的备份文件下载到本地使用,则需要对备份文件进行解密。本文介绍为备份文件解密的操作步骤。

前提条件

  • 已下载目标备份文件至本地。更多关于下载数据备份文件的详细信息,请参见下载数据备份文件;更多关于下载日志备份文件的详细信息,请参见下载 Binlog 备份

  • 已下载目标备份文件的密钥至本地。更多关于下载备份文件密钥的详细信息,请参见下载备份文件密钥

操作步骤

  • 解密数据备份文件

    1. 将数据备份文件和数据备份文件的密钥存放在同一个目录。

    2. 通过 cat 命令查看密钥的 key。

    3. 创建 MySQL 数据目录。

    4. 执行 xbstream 解密。

      xbstream -x -v  --decompress --decrypt=AES256 --encrypt-key='fa5056474928d5cfe2eeff02edcaceff' -C mysql_data < full-1713236719753042916.xbstream
      
    5. 解压完成之后,确认数据目录的数据已经正确解压。

  • 解密 binlog 备份

    1. 将 binlog 备份文件和 binlog 备份文件的密钥存放在同一个目录。

    2. 查看密钥中保存的秘钥和向量,并通过 xxd 获得对应的 16 进制值。

      key=`echo -n b2afbc4c598bf9f613a9b07d128818e3 | xxd -p | tr -d '[:space:]'`
      
      iv=`echo -n b56727bcdf6be13e | xxd -p | tr -d '[:space:]'`
      
    3. 通过 openssl 将文件解密。

      openssl enc -d -aes-256-cbc -K $key -iv $iv -in binlog-1713237686709023371-binlog.000014 -out binlog.000014
      
    4. 验证 binlog 备份文件的正确性。

      mysqlbinlog -vv binlog.000014