[ACDU 翻译] MySQL 17.3.2.1 二进制日志加密的范围
对 MySQL 服务器实例启用二进制日志加密时,加密覆盖范围如下:
- 写入二进制日志文件和中继日志文件的静态数据从加密开始的时间点开始使用上述两层加密架构进行加密。开始加密时服务器上存在的现有二进制日志文件和中继日志文件未加密。您可以在不再需要这些文件时清除它们。
- 复制事件流中的动态数据(发送到包括 mysqlbinlog在内的 MySQL 客户端)被解密以进行传输,因此应通过使用连接加密在传输过程中进行保护(参见 第 6.3 节,“使用加密连接”和 第 17.3 节。 1,“设置复制以使用加密连接”)。
- 在事务期间保存在二进制日志事务和语句缓存中的正在使用的数据在存储缓存的内存缓冲区中是未加密的格式。如果数据超出内存缓冲区中的可用空间,则数据将写入磁盘上的临时文件。从 MySQL 8.0.17 开始,当服务器上的二进制日志加密处于活动状态时,用于保存二进制日志缓存的临时文件使用 AES-CTR(AES 计数器模式)进行加密以进行流加密。由于临时文件是易失性的并且与单个进程相关联,因此它们使用单层加密进行加密,使用随机生成的文件密码和初始化向量,它们仅存在于内存中,从不存储在磁盘或密钥环中。在每个事务提交后,二进制日志缓存被重置:内存缓冲区被清除,用于保存二进制日志缓存的任何临时文件被截断,并随机生成新的文件密码和初始化向量以供下一个事务使用。当服务器在正常关闭或意外停止后重新启动时,也会发生此重置。并随机生成一个新的文件密码和初始化向量,供下一次交易使用。当服务器在正常关闭或意外停止后重新启动时,也会发生此重置。并随机生成一个新的文件密码和初始化向量,供下一次交易使用。当服务器在正常关闭或意外停止后重新启动时,也会发生此重置。
笔记
如果您使用LOAD DATA
when binlog_format=STATEMENT
设置(不建议这样做,因为该语句被认为对于基于语句的复制不安全),则会在应用更改的副本上创建一个包含数据的临时文件。当服务器上的二进制日志加密处于活动状态时,这些临时文件不会被加密。请改用基于行或混合二进制日志记录格式,这不会创建临时文件。
免责声明:
1、本站资源由自动抓取工具收集整理于网络。
2、本站不承担由于内容的合法性及真实性所引起的一切争议和法律责任。
3、电子书、小说等仅供网友预览使用,书籍版权归作者或出版社所有。
4、如作者、出版社认为资源涉及侵权,请联系本站,本站将在收到通知书后尽快删除您认为侵权的作品。
5、如果您喜欢本资源,请您支持作者,购买正版内容。
6、资源失效,请下方留言,欢迎分享资源链接
文章评论