细节
-
改进
-
状态: Done">完成
-
媒介
-
解决方法: 固定
-
3.0.9
-
没有一个
描述
让我们从目前pt-mysql-summary的加密部分开始。
#加密 ################################################# 密匙环插件 : '+--------------+---------------+ | PLUGIN_NAME | PLUGIN_STATUS | +--------------+---------------+ | keyring_file |活跃 | +--------------+---------------+' 加密的表 : +--------------+------------+----------------+ | TABLE_SCHEMA | TABLE_NAME | CREATE_OPTIONS | +--------------+------------+----------------+ | 测试| t1 = |加密“Y”| | test | t2 | ENCRYPTION=“Y”| +--------------+------------+----------------+
这看起来还不错,但是如果加密表在加密的单个表空间中,或者是包含许多表的加密通用表空间的一部分,它就不包括信息。
在我的例子中,t1是“foo”表空间的一部分,t2在单个表空间中。
5.7.21>create table t1(aint主密钥)加密=“Y”;5.7.21>CREATE TABLESPACE foo ADD数据文件“foo.ibd”加密=“Y”;5.7.21>alter table t1 tablespace=foo;5.7.21>create table t2(aint主密钥)加密=“Y”;
我也有加密的一般表空间“酒吧”,但它不包括任何表,所以在这里不可见。
我认为这将有助于:
1.在加密表中添加关于表所属表空间的信息(是单个表空间还是通用表空间)
2.添加另一个表来列出加密的表空间(可能这里列出的只是一般的表空间,而不是单个表,因为它可能与加密的表列表重复很多)
为2。这似乎并不简单,但它可以列出,看看这里如何:https://jira.雷竞技下载官网percona.com/browse/PS-3962
短的例子:
5.7.21>select SPACE, NAME from INNODB_SYS_TABLESPACES where FLAG&8192 = 8192;+-------+---------+ | 空间|名称 | +-------+---------+ | 29日| foo | | 30 |测试/ t2 | | | 31日酒吧 | +-------+---------+ 3行集(0.00秒)//或者为一般的表空间5.7.21>select SPACE, NAME from INNODB_SYS_TABLESPACES where FLAG&8192 = 8192 and SPACE_TYPE=“一般”;+-------+------+ | 空间|名称 | +-------+------+ | 29日| foo | | | 31条 | +-------+------+ 2行集(0.00秒)
