组件提供对 MySQL 企业数据屏蔽和去标识化功能的扩展访问。以前,MySQL 将屏蔽和去标识化功能实现为一个插件库文件,其中包含一个插件和几个可加载函数。在开始组件安装之前,请删除 data_masking 插件及其所有可加载函数,以避免冲突。有关说明,请参阅 第 8.5.3.1 节,“MySQL 企业数据屏蔽和去标识化插件安装”。
MySQL 企业数据屏蔽和去标识化数据库表和组件是
masking_dictionaries表用途:一个表,为屏蔽字典和术语提供持久存储。虽然
mysql系统架构是传统的存储选项,但创建专门的架构用于此目的也是允许的。出于以下原因,专门的架构可能更可取mysql系统架构不受逻辑备份(如 mysqldump 或加载操作)的备份。专门的架构使出站复制更轻松。
用户或角色在专门架构中执行相关的屏蔽任务时,不需要
mysql架构权限。
component_masking组件用途:该组件实现了屏蔽功能的核心,并将其公开为服务。
URN:
file://component_maskingcomponent_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;