密钥环系统变量
MySQL Keyring插件支持以下系统变量。使用它们来配置密匙环插件操作。除非安装了适当的密钥环插件,否则这些变量不可用(请参见“通用密钥环密钥管理功能”)。
keyring_aws_cmk_id
属性 值 命令行格式 --keyring-aws-cmk-id=value
系统变量 keyring_aws_cmk_id
范围 Global 动态 是 SET_VAR
提示适用没有 类型 string 从AWS KMS服务器获取并由
keyring_aws
插件使用的客户主密钥(CMK)ID 。除非安装了该插件,否则该变量不可用,但是如果安装了该插件,则此变量的值是必需的。keyring_aws_conf_file
属性 值 命令行格式 --keyring-aws-conf-file=file_name
系统变量 keyring_aws_conf_file
范围 Global 动态 没有 SET_VAR
提示适用没有 类型 文件名 默认值 platform specific
keyring_aws
密钥环插件的配置文件的位置。除非安装了该插件,否则此变量不可用。插件启动时,
keyring_aws
从配置文件中读取AWS秘密访问密钥ID和密钥。为了使keyring_aws
插件成功启动,配置文件必须存在并且包含有效的秘密访问密钥信息,该信息已按照“使用keyring_aws Amazon Web Services密钥环插件”中所述进行了初始化。默认文件名为
keyring_aws_conf
,位于默认密钥环文件目录中。该默认目录的位置与keyring_file_dat
系统变量的位置相同。有关详细信息,以及有关手动创建目录的注意事项,请参见该变量的说明。keyring_aws_data_file
属性 值 命令行格式 --keyring-aws-data-file
系统变量 keyring_aws_data_file
范围 Global 动态 没有 SET_VAR
提示适用没有 类型 文件名 默认值 platform specific
keyring_aws
密钥环插件的存储文件的位置。除非安装了该插件,否则此变量不可用。在插件启动时,如果分配给的值
keyring_aws_data_file
指定了不存在的文件,则keyring_aws
插件会尝试创建该文件(以及必要时创建其父目录)。如果文件确实存在,则将文件中keyring_aws
包含的所有加密密钥读入其内存中的高速缓存。keyring_aws
不会在内存中缓存未加密的密钥。默认文件名为
keyring_aws_dat
,位于默认密钥环文件目录中。该默认目录的位置与keyring_file_dat
系统变量的位置相同。有关详细信息,以及有关手动创建目录的注意事项,请参见该变量的说明。keyring_aws_region
属性 值 命令行格式 --keyring-aws-region=value
系统变量 keyring_aws_region
范围 Global 动态 是 SET_VAR
提示适用没有 类型 列举 默认值 us-east-1
有效值 p-northeast-1
p-northeast-2
p-south-1
p-southeast-1
p-southeast-2
eu-central-1
eu-west-1
sa-east-1
us-east-1
us-west-1
us-west-2
AWS区域。
keyring_encrypted_file_dat
属性 值 命令行格式 --keyring-encrypted-file-data=file_name
系统变量 keyring_encrypted_file_dat
范围 Global 动态 是 SET_VAR
提示适用没有 类型 文件名 默认值 platform specific
keyring_encrypted_file
插件用于安全存储数据的数据文件的路径名。除非安装了该插件,否则此变量不可用。文件位置应位于仅可用于钥匙圈插件的目录中。例如,不要在数据目录下找到文件。密钥环操作是事务性的:
keyring_encrypted_file
插件在写操作期间使用备份文件,以确保在操作失败时可以回滚到原始文件。备份文件的名称与keyring_encrypted_file_dat
系统变量的值相同,后缀为.backup
。请勿将相同的
keyring_encrypted_file
数据文件用于多个MySQL实例。每个实例应具有其自己的唯一数据文件。缺省文件名是
keyring_encrypted
,位于特定于平台的目录中,并且取决于CMake选项的值,如下表所示。如果要从源代码构建文件,则要为文件明确指定默认目录,请使用CMake选项。INSTALL_LAYOUT
INSTALL_MYSQLKEYRINGDIR
INSTALL_LAYOUT
值预设 keyring_encrypted_file_dat
值DEB
,RPM
,SVR4
/var/lib/mysql-keyring/keyring_encrypted
除此以外 keyring/keyring_encrypted
在CMAKE_INSTALL_PREFIX
价值之下在插件启动时,如果分配给的值
keyring_encrypted_file_dat
指定了不存在的文件,则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_dat
导致错误,则变量值保持不变。重要
一旦
keyring_encrypted_file
插件创建了数据文件并开始使用它,重要的是不要删除该文件。文件丢失将导致无法访问使用其密钥加密的数据。(允许您重命名或移动文件,只要您更改keyring_encrypted_file_dat
要匹配的值即可。)keyring_encrypted_file_password
属性 值 命令行格式 --keyring-encrypted-file-password=password
系统变量 keyring_encrypted_file_password
范围 Global 动态 是 SET_VAR
提示适用没有 类型 string keyring_encrypted_file
插件使用的密码。除非安装了该插件,否则此变量不可用。密码是插件操作所必需的;如果在服务器启动时未指定,keyring_encrypted_file
初始化将失败。如果在选项文件中指定了此变量,则该文件应具有限制模式,并且只能由用于运行MySQL服务器的帐户访问。
重要
keyring_encrypted_file_password
设置该值后,对其进行更改不会旋转密钥环密码,并且可能使服务器无法访问。如果提供了错误的密码,则keyring_encrypted_file
插件无法从加密的密钥环文件中加载密钥。密码值无法在运行时使用
SHOW VARIABLES
或性能模式global_variables
表显示,因为显示值被混淆了。keyring_file_dat
属性 值 命令行格式 --keyring-file-data=file_name
系统变量 keyring_file_dat
范围 Global 动态 是 SET_VAR
提示适用没有 类型 文件名 默认值 platform specific
keyring_file
插件用于安全存储数据的数据文件的路径名。除非安装了该插件,否则此变量不可用。文件位置应位于仅可用于钥匙圈插件的目录中。例如,不要在数据目录下找到文件。密钥环操作是事务性的:
keyring_file
插件在写操作期间使用备份文件,以确保在操作失败时可以回滚到原始文件。备份文件的名称与keyring_file_dat
系统变量的值相同,后缀为.backup
。请勿将相同的
keyring_file
数据文件用于多个MySQL实例。每个实例应具有其自己的唯一数据文件。缺省文件名是
keyring
,位于特定于平台的目录中,并且取决于CMake选项的值,如下表所示。如果要从源代码构建文件,则要为文件明确指定默认目录,请使用CMake选项。INSTALL_LAYOUT
INSTALL_MYSQLKEYRINGDIR
INSTALL_LAYOUT
值预设 keyring_file_dat
值DEB
,RPM
,SVR4
/var/lib/mysql-keyring/keyring
除此以外 keyring/keyring
在CMAKE_INSTALL_PREFIX
价值之下在插件启动时,如果分配给的值
keyring_file_dat
指定了不存在的文件,则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_dat
导致错误,则变量值保持不变。重要
一旦
keyring_file
插件创建了数据文件并开始使用它,重要的是不要删除该文件。例如,InnoDB
使用该文件存储用于对使用InnoDB
表空间加密的表中的数据进行解密的主密钥;请参见“ InnoDB静态数据加密”。文件丢失将导致无法访问此类表中的数据。(允许更改文件的名称或名称,只要您更改keyring_file_dat
建议您在创建第一个加密表之后以及在主密钥旋转之前和之后立即创建密钥环数据文件的单独备份。keyring_hashicorp_auth_path
属性 值 命令行格式 --keyring-hashicorp-auth-path=value
介绍了 8.0.18 系统变量 keyring_hashicorp_auth_path
范围 Global 动态 是 SET_VAR
提示适用没有 类型 string 默认值 /v1/auth/approle/login
在HashiCorp Vault服务器中启用AppRole身份验证的身份验证路径。
keyring_hashicorp_ca_path
属性 值 命令行格式 --keyring-hashicorp-ca-path=file_name
介绍了 8.0.18 系统变量 keyring_hashicorp_ca_path
范围 Global 动态 是 SET_VAR
提示适用没有 类型 文件名 默认值 empty string
MySQL服务器可访问的本地文件的绝对路径名,该文件包含格式正确的TLS证书颁发机构。
如果未设置此变量,则
keyring_hashicorp
插件将打开HTTPS连接而不使用服务器证书验证,并信任HashiCorp Vault服务器提供的任何证书。为了安全起见,必须假定Vault服务器不是恶意的,并且不可能进行中间人攻击。如果这些假设无效,请设置keyring_hashicorp_ca_path
为可信CA证书的路径。(例如,对于“证书和密钥准备”中的说明,这是company.crt
文件。)keyring_hashicorp_caching
属性 值 命令行格式 --keyring-hashicorp-caching[={OFF|ON}]
介绍了 8.0.18 系统变量 keyring_hashicorp_caching
范围 Global 动态 是 SET_VAR
提示适用没有 类型 布尔型 默认值 OFF
是否启用
keyring_hashicorp
插件使用的可选的内存中密钥缓存,以缓存来自HashiCorp Vault服务器的密钥。如果启用了缓存,则插件将在初始化期间填充它。否则,插件将在初始化期间仅填充密钥列表。启用缓存是一个折衷方案:可以提高性能,但是在内存中保留敏感密钥信息的副本,出于安全目的,这可能是不希望的。
keyring_hashicorp_commit_auth_path
属性 值 介绍了 8.0.18 系统变量 keyring_hashicorp_commit_auth_path
范围 Global 动态 没有 SET_VAR
提示适用没有 类型 string 此变量与关联
keyring_hashicorp_auth_path
,在keyring_hashicorp
插件初始化期间从中获取其值。如果初始化成功,它将反映实际用于插件操作的“ commited ”值。有关更多信息,请参见 keyring_hashicorp配置。keyring_hashicorp_commit_ca_path
属性 值 介绍了 8.0.18 系统变量 keyring_hashicorp_commit_ca_path
范围 Global 动态 没有 SET_VAR
提示适用没有 类型 string 此变量与关联
keyring_hashicorp_ca_path
。有关keyring_hashicorp_commit_auth_path
变量的信息,请参见系统变量的描述_commit_
。keyring_hashicorp_commit_caching
属性 值 介绍了 8.0.18 系统变量 keyring_hashicorp_commit_caching
范围 Global 动态 没有 SET_VAR
提示适用没有 类型 string 此变量与关联
keyring_hashicorp_caching
。有关keyring_hashicorp_commit_auth_path
变量的信息,请参见系统变量的描述_commit_
。keyring_hashicorp_commit_role_id
属性 值 介绍了 8.0.18 系统变量 keyring_hashicorp_commit_role_id
范围 Global 动态 没有 SET_VAR
提示适用没有 类型 string 此变量与关联
keyring_hashicorp_role_id
。有关keyring_hashicorp_commit_auth_path
变量的信息,请参见系统变量的描述_commit_
。keyring_hashicorp_commit_server_url
属性 值 介绍了 8.0.18 系统变量 keyring_hashicorp_commit_server_url
范围 Global 动态 没有 SET_VAR
提示适用没有 类型 string 此变量与关联
keyring_hashicorp_server_url
。有关keyring_hashicorp_commit_auth_path
变量的信息,请参见系统变量的描述_commit_
。keyring_hashicorp_commit_store_path
属性 值 介绍了 8.0.18 系统变量 keyring_hashicorp_commit_store_path
范围 Global 动态 没有 SET_VAR
提示适用没有 类型 string 此变量与关联
keyring_hashicorp_store_path
。有关keyring_hashicorp_commit_auth_path
变量的信息,请参见系统变量的描述_commit_
。keyring_hashicorp_role_id
属性 值 命令行格式 --keyring-hashicorp-role-id=value
介绍了 8.0.18 系统变量 keyring_hashicorp_role_id
范围 Global 动态 是 SET_VAR
提示适用没有 类型 string 默认值 empty string
HashiCorp Vault AppRole身份验证角色ID。该值必须为UUID格式。
此变量是必需的。如果未指定,则
keyring_hashicorp
初始化失败。keyring_hashicorp_secret_id
属性 值 命令行格式 --keyring-hashicorp-secret-id=value
介绍了 8.0.18 系统变量 keyring_hashicorp_secret_id
范围 Global 动态 是 SET_VAR
提示适用没有 类型 string 默认值 empty string
HashiCorp Vault AppRole身份验证机密ID。该值必须为UUID格式。
此变量是必需的。如果未指定,则
keyring_hashicorp
初始化失败。此变量的值是敏感值,因此
*
显示时,其值会被字符掩盖。keyring_hashicorp_server_url
属性 值 命令行格式 --keyring-hashicorp-server-url=value
介绍了 8.0.18 系统变量 keyring_hashicorp_server_url
范围 Global 动态 是 SET_VAR
提示适用没有 类型 string 默认值 https://127.0.0.1:8200
HashiCorp Vault服务器URL。该值必须以开头
https://
。keyring_hashicorp_store_path
属性 值 命令行格式 --keyring-hashicorp-store-path=value
介绍了 8.0.18 系统变量 keyring_hashicorp_store_path
范围 Global 动态 是 SET_VAR
提示适用没有 类型 string 默认值 empty string
HashiCorp Vault服务器中的存储路径,由提供适当的AppRole AppRole凭据时可写入
keyring_hashicorp
。要指定凭据,请设置keyring_hashicorp_role_id
和keyring_hashicorp_secret_id
系统变量(例如,如keyring_hashicorp Configuration中所示)。此变量是必需的。如果未指定,则
keyring_hashicorp
初始化失败。keyring_okv_conf_dir
属性 值 命令行格式 --keyring-okv-conf-dir=dir_name
系统变量 keyring_okv_conf_dir
范围 Global 动态 是 SET_VAR
提示适用没有 类型 目录名 默认值 empty string
存储
keyring_okv
插件使用的配置信息的目录的路径名。除非安装了该插件,否则此变量不可用。该位置应该是仅由keyring_okv
插件使用的目录。例如,不要在数据目录下找到该目录。默认
keyring_okv_conf_dir
值为空。为了使该keyring_okv
插件能够访问Oracle Key Vault,必须将该值设置为包含Oracle Key Vault配置和SSL资料的目录。有关设置此目录的说明,请参见“使用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
属性 值 系统变量 keyring_operations
范围 Global 动态 是 SET_VAR
提示适用没有 类型 布尔型 默认值 ON
是否启用密钥环操作。在密钥迁移操作期间使用此变量。请参见“在密钥环密钥库之间迁移密钥”。修改此变量所需的特权
ENCRYPTION_KEY_ADMIN
是SYSTEM_VARIABLES_ADMIN
或之外的SUPER
。