文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man 页面 (TGZ) - 258.2Kb
Man 页面 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  二进制日志加密范围

19.3.2.1 二进制日志加密范围

当二进制日志加密对 MySQL 服务器实例生效时,加密覆盖范围如下所示

  • 写入二进制日志文件和中继日志文件中的静态数据从加密启动时间点开始进行加密,使用上述两层加密架构。当您启动加密时,服务器上存在的现有二进制日志文件和中继日志文件不会被加密。当这些文件不再需要时,您可以清除它们。

  • 复制事件流中的动态数据,该数据被发送到包括 mysqlbinlog 在内的 MySQL 客户端,会被解密以进行传输,因此应通过使用连接加密来保护传输过程中的数据(请参阅 第 8.3 节,“使用加密连接”第 19.3.1 节,“设置使用加密连接的复制”)。

  • 在事务期间,存储在二进制日志事务和语句缓存中的使用中数据以未加密格式存在于存储缓存的内存缓冲区中。如果数据超过内存缓冲区中可用的空间,则将其写入磁盘上的临时文件。当服务器上生效二进制日志加密时,用于保存二进制日志缓存的临时文件使用 AES-CTR(AES 计数器模式)进行加密,用于流加密。由于临时文件是易失性的,并且与单个进程相关联,因此它们使用单层加密进行加密,使用随机生成的仅存在于内存中的文件密码和初始化向量,并且永远不会存储在磁盘或密钥环上。在提交每个事务后,二进制日志缓存将被重置:内存缓冲区将被清除,用于保存二进制日志缓存的任何临时文件将被截断,并将为下一个事务随机生成新的文件密码和初始化向量。服务器在正常关闭或意外停止后重新启动时,也会发生此重置。

注意

如果您在 LOAD DATA 时设置了 binlog_format=STATEMENT,这是不推荐的,因为该语句被认为对于基于语句的复制是不安全的,则会在应用更改的副本上创建一个包含数据的临时文件。当服务器上生效二进制日志加密时,这些临时文件不会被加密。请改用基于行的或混合二进制日志格式,这些格式不会创建临时文件。