组件提供对 MySQL 企业数据屏蔽和去标识化功能的扩展访问。以前,MySQL 将屏蔽和去标识化功能实现为一个插件库文件,其中包含一个插件和几个可加载函数。在开始组件安装之前,请删除 data_masking
插件及其所有可加载函数,以避免冲突。有关说明,请参阅 第 8.5.3.1 节,“MySQL 企业数据屏蔽和去标识化插件安装”。
MySQL 企业数据屏蔽和去标识化数据库表和组件是
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 企业数据屏蔽和去标识化支持以下设置和移除步骤
考虑使用专门的架构来存储数据屏蔽字典(请参阅 使用专门的架构安装)。
要设置 MySQL 企业数据屏蔽和去标识化
运行
masking_functions_install.sql
以将masking_dictionaries
表添加到mysql
架构并安装组件。该脚本位于 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
架构并安装组件。该脚本位于 MySQL 安装的share
目录中。$> mysql -u root -p -D mask_db < [path/]masking_functions_install.sql Enter password: (enter root password here)
在启动时设置并持久化
mask_db
模式,方法是在component_masking.masking_database
只读变量名前加上PERSIST_ONLY
关键字。$> mysql -u root -p -e "SET PERSIST_ONLY component_masking.masking_database=mask_db" Enter password: (enter root password here)
修改变量后,重启服务器以使新设置生效。
使用 mysql
系统模式时,要删除 MySQL Enterprise 数据屏蔽和去识别
运行
masking_functions_uninstall.sql
从相应模式中删除masking_dictionaries
表,并卸载组件。该脚本位于 MySQL 安装的share
目录中。此处的示例指定了mysql
数据库。$> mysql -u root -p -D mysql < [path/]masking_functions_uninstall.sql Enter password: (enter root password here)
使用专用模式时,要删除 MySQL Enterprise 数据屏蔽和去识别
运行
masking_functions_uninstall.sql
从相应模式中删除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)
[可选] 删除专用模式,以确保它不会用于其他目的。
DROP DATABASE mask_db;