在上一篇文章中,我比较了MySQL和MariaDB可用的静态数据加密功能。
如当时所指出的,Percona Server for MySQL的一些可用功能正在开发中,并且是最新版本(5。
7
23)看到其中两个以ALPHA质量发布。
第一项新功能是通过innodb_sys_tablespace_encrypt加密InnoDB系统表空间,它将对以下数据进行加密:
- 更改缓冲区,由于对InnoDB缓冲池中不存在的页面进行DML操作而缓存对二级索引页面的更改
- 撤消日志(如果尚未配置为存储在单独的撤消表空间中)
- 主表空间中存在的任何表中的数据(禁用innodb_file_per_table时发生)
但是,目前,这仅适用于新实例,因为它只能在引导过程中应用。
这意味着需要逻辑还原您的数据才能在现有群集中使用它-我应该重申这是ALPHA功能,而不是可用于生产的。
关于这个新变量,还有一些额外的注意事项:
- 7
23,由于无法读取表空间 - 如前所述,当前无法在加密状态和未加密状态之间转换表空间,反之亦然
- 与其他任何表空间一样,可以使用ALTER INSTANCE ROTATE INNODB MASTER KEY手动旋转系统表空间的键
这意味着用于加密表空间的任何数据也只能以加密形式写入并行双写缓冲区中。
与innodb_sys_tablespace_encrypt不同,您可以在现有实例上动态设置innodb_parallel_dblwr_encrypt。