Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  MySQL Enterprise Data Masking and De-Identification Component Installation

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 企业数据掩码和去标识支持这些设置和删除过程:

Note

考虑使用专门的 schema 来存储数据掩码字典(见Install Using a Dedicated Schema)。

设置 MySQL 企业数据掩码和去标识:

  1. 运行 masking_functions_install.sqlmasking_dictionaries 表添加到 mysql schema 并安装组件。脚本位于 MySQL 安装目录的 share 目录中。

    $> mysql -u root -p -D mysql < [path/]masking_functions_install.sql
    Enter password: (enter root password here)

设置 MySQL 企业数据掩码和去标识:

  1. 创建一个存储 masking_dictionaries 表的数据库。例如,使用 mask_db 作为数据库名称,执行以下语句:

    $> mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS mask_db"
    Enter password: (enter root password here)
  2. 运行 masking_functions_install.sqlmasking_dictionaries 表添加到 mask_db schema 并安装组件。脚本位于 MySQL 安装目录的 share 目录中。

    $> mysql -u root -p -D mask_db < [path/]masking_functions_install.sql
    Enter password: (enter root password here)
  3. 在启动时,使用 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:

  1. 运行 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:

  1. 运行 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)
  2. 停止持久化 component_masking.masking_database 变量。

    $> mysql -u root -p -e "RESET PERSIST component_masking.masking_database"
    Enter password: (enter root password here)
  3. [可选] 删除专用 schema,以确保它不用于其他目的。

    DROP DATABASE mask_db;