8.5.2.1 MySQL 企业数据屏蔽和去标识化组件安装
组件提供了对MySQL Enterprise Data Masking 和 De-Identification 功能的扩展访问。之前,MySQL 实现了屏蔽和去标识化能力作为一个插件库文件,包含插件和多个可加载函数。在开始组件安装前,删除 data_masking
插件和所有可加载函数,以避免冲突。请参阅第8.5.3.1节,“MySQL Enterprise Data Masking 和 De-Identification 插件安装”。
MySQL Enterprise Data Masking 和 De-Identification 数据库表和组件是:
-
masking_dictionaries
表目的:一个提供屏蔽词典和术语持久存储的表。虽然
mysql
系统架构是传统存储选项,但创建专门架构也被允许。专门架构可能因为以下原因更好:-
mysql
系统架构不受逻辑备份,例如mysqldump 或装载操作。 -
专门架构使出站复制更容易。
-
用户或角色在专门架构中执行相关数据屏蔽任务时,不需要
mysql
架构权限。
-
-
component_masking
组件目的:该组件实现了掩码功能的核心,并将其暴露为服务。
URN:
file://component_masking
-
component_masking_functions
组件目的:该组件将
component_masking
组件的所有功能暴露为可加载函数。其中一些函数需要MASKING_DICTIONARIES_ADMIN
动态权限。URN:
file://component_masking_functions
如果在复制源服务器上使用组件和函数,务必在所有副本服务器上安装,以避免复制问题。组件加载时,关于它们的信息可见第7.5.2节,“获取组件信息”。关于安装或卸载组件的总体信息,请参阅第7.5.1节,“安装和卸载组件”。
MySQL 企业数据掩码和去标识支持这些设置和删除过程:
考虑使用专门的 schema 来存储数据掩码字典(见Install Using a Dedicated Schema)。
设置 MySQL 企业数据掩码和去标识:
-
运行
masking_functions_install.sql
将masking_dictionaries
表添加到mysql
schema 并安装组件。脚本位于 MySQL 安装目录的share
目录中。$> mysql -u root -p -D mysql < [path/]masking_functions_install.sql Enter password: (enter root password here)
设置 MySQL 企业数据掩码和去标识:
-
创建一个存储
masking_dictionaries
表的数据库。例如,使用mask_db
作为数据库名称,执行以下语句:$> mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS mask_db" Enter password: (enter root password here)
-
运行
masking_functions_install.sql
将masking_dictionaries
表添加到mask_db
schema 并安装组件。脚本位于 MySQL 安装目录的share
目录中。$> mysql -u root -p -D mask_db < [path/]masking_functions_install.sql Enter password: (enter root password here)
-
在启动时,使用
PERSIST_ONLY
关键字前缀来设置和持久化component_masking.masking_database
只读变量名,以便将其 schema 设置为mask_db
。$> mysql -u root -p -e "SET PERSIST_ONLY component_masking.masking_database=mask_db" Enter password: (enter root password here)
修改变量后,重新启动服务器以使新的设置生效。
卸载 MySQL 企业数据屏蔽和去标识化组件
使用 mysql
系统 schema 时,卸载 MySQL Enterprise Data Masking 和 De-Identification:
-
运行
masking_functions_uninstall.sql
脚本来删除适当的 schema 中的masking_dictionaries
表并卸载组件。脚本位于 MySQL 安装目录下的share
目录,示例中指定了mysql
数据库。$> mysql -u root -p -D mysql < [path/]masking_functions_uninstall.sql Enter password: (enter root password here)
使用专用 schema 时,卸载 MySQL Enterprise Data Masking 和 De-Identification:
-
运行
masking_functions_uninstall.sql
脚本来删除适当的 schema 中的masking_dictionaries
表并卸载组件。脚本位于 MySQL 安装目录下的share
目录,示例中指定了mask_db
数据库。$> mysql -u root -p -D mask_db < [path/]masking_functions_uninstall.sql Enter password: (enter root password here)
-
停止持久化
component_masking.masking_database
变量。$> mysql -u root -p -e "RESET PERSIST component_masking.masking_database" Enter password: (enter root password here)
-
[可选] 删除专用 schema,以确保它不用于其他目的。
DROP DATABASE mask_db;