Documentation Home

6.4.4.12 密钥环系统变量

MySQL Keyring 插件支持以下系统变量。使用它们来配置密钥环插件操作。这些变量不可用,除非安装了适当的密钥环插件(请参阅第 6.4.4.1 节,“密钥环插件安装”)。

  • keyring_aws_cmk_id

    命令行格式 --keyring-aws-cmk-id=value
    介绍 5.7.19
    系统变量 keyring_aws_cmk_id
    范围 全球的
    动态的 是的
    类型 细绳

    从 AWS KMS 服务器获取并由keyring_aws 插件使用的客户主密钥 (CMK) ID。除非安装了该插件,否则此变量不可用。

    这个变量是强制性的。如果未指定,则 keyring_aws初始化失败。

  • keyring_aws_conf_file

    命令行格式 --keyring-aws-conf-file=file_name
    介绍 5.7.19
    系统变量 keyring_aws_conf_file
    范围 全球的
    动态的
    类型 文件名
    默认值 platform specific

    keyring_aws插件 配置文件的位置 。除非安装了该插件,否则此变量不可用。

    在插件启动时,keyring_aws从配置文件中读取 AWS 秘密访问密钥 ID 和密钥。为了使keyring_aws插件成功启动,配置文件必须存在并包含有效的秘密访问密钥信息,如第 6.4.4.5 节“使用 keyring_aws Amazon Web 服务密钥环插件”中所述进行初始化。

    默认文件名为 keyring_aws_conf,位于默认密钥环文件目录中。keyring_file_data此默认目录的位置与系统变量的位置相同 。有关详细信息以及手动创建目录时要考虑的注意事项,请参阅该变量的描述。

  • keyring_aws_data_file

    命令行格式 --keyring-aws-data-file
    介绍 5.7.19
    系统变量 keyring_aws_data_file
    范围 全球的
    动态的
    类型 文件名
    默认值 platform specific

    keyring_aws插件 存储文件的位置 。除非安装了该插件,否则此变量不可用。

    在插件启动时,如果指定的值 keyring_aws_data_file 指定了一个不存在的文件, keyring_aws插件会尝试创建它(以及它的父目录,如果需要的话)。如果文件确实存在,则将文件中keyring_aws包含的所有加密密钥读入其内存缓存中。keyring_aws不在内存中缓存未加密的密钥。

    默认文件名为 keyring_aws_data,位于默认密钥环文件目录中。keyring_file_data此默认目录的位置与系统变量的位置相同 。有关详细信息以及手动创建目录时要考虑的注意事项,请参阅该变量的描述。

  • keyring_aws_region

    命令行格式 --keyring-aws-region=value
    介绍 5.7.19
    系统变量 keyring_aws_region
    范围 全球的
    动态的 是的
    类型 枚举
    默认值 us-east-1
    有效值 (≥ 5.7.39)

    af-south-1

    ap-east-1

    ap-northeast-1

    ap-northeast-2

    ap-northeast-3

    ap-south-1

    ap-southeast-1

    ap-southeast-2

    ca-central-1

    cn-north-1

    cn-northwest-1

    eu-central-1

    eu-north-1

    eu-south-1

    eu-west-1

    eu-west-2

    eu-west-3

    me-south-1

    sa-east-1

    us-east-1

    us-east-2

    us-gov-east-1

    us-iso-east-1

    us-iso-west-1

    us-isob-east-1

    us-west-1

    us-west-2

    有效值(≥ 5.7.27,≤ 5.7.38)

    ap-northeast-1

    ap-northeast-2

    ap-south-1

    ap-southeast-1

    ap-southeast-2

    ca-central-1

    cn-north-1

    cn-northwest-1

    eu-central-1

    eu-west-1

    eu-west-2

    eu-west-3

    sa-east-1

    us-east-1

    us-east-2

    us-west-1

    us-west-2

    有效值(≥ 5.7.19,≤ 5.7.26)

    ap-northeast-1

    ap-northeast-2

    ap-south-1

    ap-southeast-1

    ap-southeast-2

    eu-central-1

    eu-west-1

    sa-east-1

    us-east-1

    us-west-1

    us-west-2

    keyring_aws 插件 的 AWS 区域。除非安装了该插件,否则此变量不可用。

  • keyring_encrypted_file_data

    命令行格式 --keyring-encrypted-file-data=file_name
    介绍 5.7.21
    系统变量 keyring_encrypted_file_data
    范围 全球的
    动态的 是的
    类型 文件名
    默认值 platform specific

    keyring_encrypted_file插件 用于安全数据存储的数据文件的路径名。除非安装了该插件,否则此变量不可用。文件位置应位于仅供密钥环插件使用的目录中。例如,不要将文件定位到数据目录下。

    Keyring 操作是事务性的: keyring_encrypted_file插件在写入操作期间使用备份文件,以确保在操作失败时可以回滚到原始文件。备份文件与系统变量的值同名, keyring_encrypted_file_data 后缀为 .backup.

    不要 keyring_encrypted_file对多个 MySQL 实例使用相同的数据文件。每个实例都应该有自己唯一的数据文件。

    默认文件名为 keyring_encrypted,位于特定于平台的目录中,具体取决于CMake选项的值,如下表所示。如果您从源代码构建,要明确指定文件的默认目录,请使用 CMake选项。 INSTALL_LAYOUT INSTALL_MYSQLKEYRINGDIR

    INSTALL_LAYOUT价值 默认keyring_encrypted_file_data
    DEB, RPM, SLES, SVR4 /var/lib/mysql-keyring/keyring_encrypted
    否则 keyring/keyring_encryptedCMAKE_INSTALL_PREFIX 值以下

    在插件启动时,如果指定的值 keyring_encrypted_file_data 指定了一个不存在的文件, keyring_encrypted_file插件会尝试创建它(以及它的父目录,如果需要的话)。

    如果您手动创建该目录,它应该具有限制模式并且只能由用于运行 MySQL 服务器的帐户访问。例如,在 Unix 和类 Unix 系统上,要使用 /usr/local/mysql/mysql-keyring 目录,以下命令(执行为 root)创建目录并设置其模式和所有权:

    cd /usr/local/mysql
    mkdir mysql-keyring
    chmod 750 mysql-keyring
    chown mysql mysql-keyring
    chgrp mysql mysql-keyring

    如果keyring_encrypted_file插件无法创建或访问其数据文件,它会将错误消息写入错误日志。如果尝试的运行时分配 keyring_encrypted_file_data 导致错误,则变量值保持不变。

    重要的

    一旦keyring_encrypted_file插件创建了它的数据文件并开始使用它,重要的是不要删除该文件。文件丢失会导致使用其密钥加密的数据变得无法访问。(允许重命名或移动文件,只要将 的值更改 keyring_encrypted_file_data 为匹配即可。)

  • keyring_encrypted_file_password

    命令行格式 --keyring-encrypted-file-password=password
    介绍 5.7.21
    系统变量 keyring_encrypted_file_password
    范围 全球的
    动态的 是的
    类型 细绳

    keyring_encrypted_file插件 使用的密码 。除非安装了该插件,否则此变量不可用。

    这个变量是强制性的。如果未指定,则 keyring_encrypted_file初始化失败。

    如果在选项文件中指定了此变量,则该文件应具有限制模式,并且只能由用于运行 MySQL 服务器的帐户访问。

    重要的

    设置该 keyring_encrypted_file_password 值后,更改它不会轮换密钥环密码,并且可能使服务器无法访问。如果提供的密码不正确, keyring_encrypted_file插件将无法从加密的密钥环文件中加载密钥。

    密码值无法在运行时使用 SHOW VARIABLESPerformance Schema global_variables表显示,因为显示值被混淆了。

  • keyring_file_data

    命令行格式 --keyring-file-data=file_name
    介绍 5.7.11
    系统变量 keyring_file_data
    范围 全球的
    动态的 是的
    类型 文件名
    默认值 platform specific

    keyring_file插件 用于安全数据存储的数据文件的路径名。除非安装了该插件,否则此变量不可用。文件位置应位于仅供密钥环插件使用的目录中。例如,不要将文件定位到数据目录下。

    Keyring 操作是事务性的: keyring_file插件在写入操作期间使用备份文件,以确保在操作失败时可以回滚到原始文件。备份文件与系统变量的值同名, keyring_file_data后缀为.backup.

    不要keyring_file对多个 MySQL 实例使用相同的数据文件。每个实例都应该有自己唯一的数据文件。

    默认文件名为keyring,位于特定于平台的目录中,具体取决于 CMake选项的值,如下表所示。如果您从源代码构建,要明确指定文件的默认目录,请使用 CMake选项。 INSTALL_LAYOUT INSTALL_MYSQLKEYRINGDIR

    INSTALL_LAYOUT价值 默认keyring_file_data
    DEB, RPM, SLES, SVR4 /var/lib/mysql-keyring/keyring
    否则 keyring/keyringCMAKE_INSTALL_PREFIX 值以下

    在插件启动时,如果指定的值 keyring_file_data指定了一个不存在的文件, keyring_file插件会尝试创建它(以及它的父目录,如果需要的话)。

    如果您手动创建该目录,它应该具有限制模式并且只能由用于运行 MySQL 服务器的帐户访问。例如,在 Unix 和类 Unix 系统上,要使用 /usr/local/mysql/mysql-keyring 目录,以下命令(执行为 root)创建目录并设置其模式和所有权:

    cd /usr/local/mysql
    mkdir mysql-keyring
    chmod 750 mysql-keyring
    chown mysql mysql-keyring
    chgrp mysql mysql-keyring

    如果keyring_file插件无法创建或访问其数据文件,它会将错误消息写入错误日志。如果尝试的运行时分配 keyring_file_data导致错误,则变量值保持不变。

    重要的

    一旦keyring_file插件创建了它的数据文件并开始使用它,重要的是不要删除该文件。例如, InnoDB使用文件存储用于解密使用 InnoDB表空间加密的表中的数据的主密钥;参见 第 14.14 节,“InnoDB 静态数据加密”。文件丢失会导致此类表中的数据变得不可访问。(重命名或移动文件是允许的,只要你改变 keyring_file_data以匹配。)建议您在创建第一个加密表后以及主密钥轮换前后立即创建密钥环数据文件的单独备份。

  • keyring_okv_conf_dir

    命令行格式 --keyring-okv-conf-dir=dir_name
    介绍 5.7.12
    系统变量 keyring_okv_conf_dir
    范围 全球的
    动态的 是的
    类型 目录名称
    默认值 empty string

    keyring_okv 存储插件 使用的配置信息的目录的路径名。除非安装了该插件,否则此变量不可用。该位置应该是仅供keyring_okv插件使用的目录。例如,不要将目录定位到数据目录下。

    默认 keyring_okv_conf_dir值为空。对于keyring_okv能够访问 Oracle Key Vault 的插件,必须将该值设置为包含 Oracle Key Vault 配置和 SSL 材料的目录。有关设置此目录的说明,请参阅第 6.4.4.4 节,“使用 keyring_okv KMIP 插件”

    该目录应该具有限制模式,并且只能由用于运行 MySQL 服务器的帐户访问。例如,在 Unix 和类 Unix 系统上,要使用 /usr/local/mysql/mysql-keyring-okv 目录,以下命令(执行为 root)创建目录并设置其模式和所有权:

    cd /usr/local/mysql
    mkdir mysql-keyring-okv
    chmod 750 mysql-keyring-okv
    chown mysql mysql-keyring-okv
    chgrp mysql mysql-keyring-okv

    如果分配给的值 keyring_okv_conf_dir 指定了一个不存在的目录,或者该目录不包含允许建立与 Oracle Key Vault 的连接的配置信息, keyring_okv则将一条错误消息写入错误日志。如果尝试的运行时分配 keyring_okv_conf_dir 导致错误,则变量值和密钥环操作保持不变。

  • keyring_operations

    介绍 5.7.21
    系统变量 keyring_operations
    范围 全球的
    动态的 是的
    类型 布尔值
    默认值 ON

    是否启用密钥环操作。此变量在密钥迁移操作期间使用。请参阅 第 6.4.4.7 节,“在密钥环密钥库之间迁移密钥”