GCache加密和Write-Set缓存加密¶
这些特性是技术预览版。在生产中使用这些特性之前,我们建议您在环境中测试从物理备份恢复生产,并使用备用备份方法实现冗余。
GCache和Write-Set缓存加密¶
启用此功能将使用文件密钥加密Galera GCache和Write-Set缓存文件。
GCache有一个磁盘上的RingBuffer文件来管理写集。密匙环只存储主密钥,主密钥用于加密RingBuffer文件使用的文件密钥。加密的文件密钥存储在RingBuffer的序言中。GCache的RingBuffer文件是非易失性的,这意味着该文件在重新启动后仍然存在。文件键不存储在GCache离页文件和写设置缓存文件中。
另请参阅
有关更多信息,请参见理解GCache和记录集缓存,以及Percona雷竞技下载官网数据库性能博客:所有你需要知道的关于GCache
示例序言键-值对
Version: 2 GID: 3afaa71d-6665-11ed-98de-2aba4aabc65e synced: 0 enc_version: 1 enc_encrypted: 1 enc_mk_id: 3 enc_mk_const_id: 3ad045a2-6665-11ed-a49d-cb7b9d88753f enc_mk_uuid: 3ad04c8e-6665-11ed-a947-c7e346da147f enc_fk_id: S4hRiibUje4v5GSQ7a+uuS6NBBX9+230nsPHeAXH43k= enc_crc: 279433530
主要描述¶
序言中定义的加密密钥如下表所示。序言中的其他密钥都与加密无关。
| 关键 | 描述 |
|---|---|
enc_version |
加密版本 |
enc_encrypted |
GCache是否加密 |
enc_mk_id |
主密钥ID的一部分。旋转主密钥会增加序列号。 |
enc_mk_const_id |
主密钥ID的一部分,一个固定的通用唯一标识符(UUID)。方法的执行期间,此选项保持不变galera.gcache文件,并简化了将密匙环内的master Key匹配到生成密钥的实例。删除galera.gcache更改此键的值。 |
enc_mk_uuid |
第一个主密钥,或者如果Galera检测到前导不一致,导致GCache完全重置,需要一个新的主密钥,就会生成这个UUID。 |
enc_fk_id |
用主密钥加密的文件密钥ID。 |
enc_crc |
从所有与加密相关的密钥计算的循环冗余校验(CRC)。 |
控制加密¶
使用wsrep_provider_options控制加密。
| 变量名 | 默认值 | 允许的值 |
|---|---|---|
gcache.encryption |
从 | 开/关 |
gcache.encryption_cache_page_size |
32 kb | 2 - 512 |
gcache.encryption_cache_size |
16 mb | 2 - 512 |
allocator.disk_pages_encryption |
从 | 开/关 |
allocator.encryption_cache_page_size |
32 kb | |
allocator.encryption_cache_size |
16 mb |
旋转GCache主键¶
GCache和Write-Set缓存加密使用keyring插件或keyring组件。必须加载此插件或组件。
当使用密匙环插件或密匙环组件时,将密匙环文件存储在数据目录之外。
mysql>改变实例旋转GCACHE主关键;
变量描述¶
GCache加密¶
下面几节描述与GCache加密相关的变量。所有变量都是只读的。
gcache.encryption¶
开启/关闭GCache加密。
gcache.encryption_cache_page_size¶
GCache加密页面的大小。该值必须是CPU页面大小的倍数(通常为4kB)。如果不为,则服务器报错并停止。
gcache.encryption_cache_size¶
每个加密文件都有加密。缓存,它由页面组成。使用gcache.encryption_cache_size配置加密。缓存大小。
配置缓存中的页面大小gcache.encryption_cache_page_size。
加密的最大大小。缓存是512页。这个值是一个提示。如果该值大于最大值,则该值四舍五入为512 x gcache.encryption_cache_page_size。
加密的最小大小。缓存是2个页面。如果值较小,则取整该值。
写集缓存加密¶
下面几节描述与写-设置缓存加密相关的变量。所有变量都是只读的。
allocator.disk_pages_encryption¶
启用或禁用Write-Set缓存加密。
allocator.encryption_cache_page_size¶
Write-Set页的加密缓存的大小。该值必须是CPU页面大小的倍数(通常为4kB)。如果不为,则服务器报错并停止。
allocator.encryption_cache_size¶
每个Write-Set加密文件都有一个加密。缓存,它由页面组成。使用allocator.encryption_cache_size属性的大小encryption.cache。
配置缓存中的页面大小allocator.encryption_cache_page_size。
加密的最大大小。缓存是512页。这个值是一个提示。如果该值大于最大值,则该值四舍五入为512 x gcache.encryption_cache_page_size。
加密的最小大小。缓存是2个页面。如果值较小,则取整该值。