6.4.4.11 密钥环系统变量

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

Property Value
Command-Line Format --keyring-aws-cmk-id=value
Introduced 5.7.19
System Variable keyring_aws_cmk_id
Scope Global
Dynamic Yes
Type String

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

此变量是必需的。如果未指定,则keyring_aws初始化失败。

Property Value
Command-Line Format --keyring-aws-conf-file=file_name
Introduced 5.7.19
System Variable keyring_aws_conf_file
Scope Global
Dynamic No
Type File name
Default Value platform specific

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

插件启动时,keyring_aws从配置文件中读取 AWSSecret 访问密钥 ID 和密钥。为了使keyring_aws插件成功启动,配置文件必须存在并且包含有效的 Secret 访问密钥信息,该信息已按照第 6.4.4.5 节“使用 keyring_aws Amazon Web Services 密钥环插件”中的说明进行了初始化。

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

Property Value
Command-Line Format --keyring-aws-data-file
Introduced 5.7.19
System Variable keyring_aws_data_file
Scope Global
Dynamic No
Type File name
Default Value platform specific

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

在插件启动时,如果分配给keyring_aws_data_file的值指定了不存在的文件,则keyring_aws插件会尝试创建该文件(以及必要时创建其父目录)。如果文件确实存在,则keyring_aws会将文件中包含的所有加密密钥读取到其内存中的高速缓存中。 keyring_aws不会在内存中缓存未加密的密钥。

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

Property Value
Command-Line Format --keyring-aws-region=value
Introduced 5.7.19
System Variable keyring_aws_region
Scope Global
Dynamic Yes
Type Enumeration
Default Value us-east-1
Valid Values 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 区域。除非安装了该插件,否则此变量不可用。

Property Value
Command-Line Format --keyring-encrypted-file-data=file_name
Introduced 5.7.21
System Variable keyring_encrypted_file_data
Scope Global
Dynamic Yes
Type File name
Default Value platform specific

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

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

请勿将相同的keyring_encrypted_file数据文件用于多个 MySQL 实例。每个实例应具有其自己的唯一数据文件。

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

INSTALL_LAYOUT 默认值keyring_encrypted_file_data
DEB , RPM , SLES , SVR4 /var/lib/mysql-keyring/keyring_encrypted
Otherwise CMAKE_INSTALL_PREFIX值下的keyring/keyring_encrypted

在插件启动时,如果分配给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分配运行时导致错误,则变量值保持不变。

Important

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

Property Value
Command-Line Format --keyring-encrypted-file-password=password
Introduced 5.7.21
System Variable keyring_encrypted_file_password
Scope Global
Dynamic Yes
Type String

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

此变量是必需的。如果未指定,则keyring_encrypted_file初始化失败。

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

Important

设置keyring_encrypted_file_password值后,对其进行更改不会旋转密钥环密码,并且可能使服务器无法访问。如果提供了错误的密码,则keyring_encrypted_file插件无法从加密的密钥环文件中加载密钥。

密码值无法在运行时使用SHOW VARIABLES或 Performance Schema global_variablestable 显示,因为显示值被混淆了。

Property Value
Command-Line Format --keyring-file-data=file_name
Introduced 5.7.11
System Variable keyring_file_data
Scope Global
Dynamic Yes
Type File name
Default Value platform specific

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

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

请勿将相同的keyring_file数据文件用于多个 MySQL 实例。每个实例应具有其自己的唯一数据文件。

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

INSTALL_LAYOUT 默认值keyring_file_data
DEB , RPM , SLES , SVR4 /var/lib/mysql-keyring/keyring
Otherwise CMAKE_INSTALL_PREFIX值下的keyring/keyring

在插件启动时,如果分配给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分配运行时导致错误,则变量值保持不变。

Important

一旦keyring_file插件创建了其数据文件并开始使用它,重要的是不要删除该文件。例如,InnoDB使用文件存储用于对使用InnoDBtable 空间加密的 table 中的数据进行解密的主密钥;参见第 14.14 节“ InnoDB 静态数据加密”。文件丢失将导致无法访问此类 table 中的数据。 (只要更改keyring_file_data的值以匹配,就可以重命名或移动文件。)建议在创建第一个加密 table 之后,之前和之后立即创建密钥环数据文件的单独备份。主键旋转。

Property Value
Command-Line Format --keyring-okv-conf-dir=dir_name
Introduced 5.7.12
System Variable keyring_okv_conf_dir
Scope Global
Dynamic Yes
Type Directory name
Default Value 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分配运行时导致错误,则变量值和密钥环操作保持不变。

Property Value
Introduced 5.7.21
System Variable keyring_operations
Scope Global
Dynamic Yes
Type Boolean
Default Value ON

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

首页