MySQL Keyring plugins support the following system variables. Use them to configure keyring plugin operation. These variables are unavailable unless the appropriate keyring plugin is installed (see Section 8.4.5.3, “Keyring Plugin Installation”).
-
Command-Line Format --keyring-aws-cmk-id=valueSystem Variable keyring_aws_cmk_idScope Global Dynamic Yes SET_VARHint AppliesNo Type String The KMS key ID obtained from the AWS KMS server and used by the
keyring_awsplugin. This variable is unavailable unless that plugin is installed.This variable is mandatory. If not specified,
keyring_awsinitialization fails. -
Command-Line Format --keyring-aws-conf-file=file_nameSystem Variable keyring_aws_conf_fileScope Global Dynamic No SET_VARHint AppliesNo Type File name Default Value platform specificThe location of the configuration file for the
keyring_awsplugin. This variable is unavailable unless that plugin is installed.At plugin startup,
keyring_awsreads the AWS secret access key ID and key from the configuration file. For thekeyring_awsplugin to start successfully, the configuration file must exist and contain valid secret access key information, initialized as described in Section 8.4.5.7, “Using the keyring_aws Amazon Web Services Keyring Plugin”.The default file name is
keyring_aws_conf, located in the default keyring file directory. -
Command-Line Format --keyring-aws-data-fileSystem Variable keyring_aws_data_fileScope Global Dynamic No SET_VARHint AppliesNo Type File name Default Value platform specificThe location of the storage file for the
keyring_awsplugin. This variable is unavailable unless that plugin is installed.At plugin startup, if the value assigned to
keyring_aws_data_filespecifies a file that does not exist, thekeyring_awsplugin attempts to create it (as well as its parent directory, if necessary). If the file does exist,keyring_awsreads any encrypted keys contained in the file into its in-memory cache.keyring_awsdoes not cache unencrypted keys in memory.The default file name is
keyring_aws_data, located in the default keyring file directory. -
Command-Line Format --keyring-aws-region=valueSystem Variable keyring_aws_regionScope Global Dynamic Yes SET_VARHint AppliesNo Type Enumeration Default Value us-east-1Valid Values af-south-1ap-east-1ap-northeast-1ap-northeast-2ap-northeast-3ap-south-1ap-southeast-1ap-southeast-2ca-central-1cn-north-1cn-northwest-1eu-central-1eu-north-1eu-south-1eu-west-1eu-west-2eu-west-3me-south-1sa-east-1us-east-1us-east-2us-gov-east-1us-iso-east-1us-iso-west-1us-isob-east-1us-west-1us-west-2The AWS region for the
keyring_awsplugin. This variable is unavailable unless that plugin is installed.If not set, the AWS region defaults to
us-east-1. Thus, for any other region, this variable must be set explicitly. -
Command-Line Format --keyring-hashicorp-auth-path=valueDeprecated Yes System Variable keyring_hashicorp_auth_pathScope Global Dynamic Yes SET_VARHint AppliesNo Type String Default Value /v1/auth/approle/loginThe authentication path where AppRole authentication is enabled within the HashiCorp Vault server, for use by the
keyring_hashicorpplugin. This variable is unavailable unless that plugin is installed. -
Command-Line Format --keyring-hashicorp-ca-path=file_nameDeprecated Yes System Variable keyring_hashicorp_ca_pathScope Global Dynamic Yes SET_VARHint AppliesNo Type File name Default Value empty stringThe absolute path name of a local file accessible to the MySQL server that contains a properly formatted TLS certificate authority for use by the
keyring_hashicorpplugin. This variable is unavailable unless that plugin is installed.If this variable is not set, the
keyring_hashicorpplugin opens an HTTPS connection without using server certificate verification, and trusts any certificate delivered by the HashiCorp Vault server. For this to be safe, it must be assumed that the Vault server is not malicious and that no man-in-the-middle attack is possible. If those assumptions are invalid, setkeyring_hashicorp_ca_pathto the path of a trusted CA certificate. (For example, for the instructions in Certificate and Key Preparation, this is thecompany.crtfile.) -
Command-Line Format --keyring-hashicorp-caching[={OFF|ON}]Deprecated Yes System Variable keyring_hashicorp_cachingScope Global Dynamic Yes SET_VARHint AppliesNo Type Boolean Default Value OFFWhether to enable the optional in-memory key cache used by the
keyring_hashicorpplugin to cache keys from the HashiCorp Vault server. This variable is unavailable unless that plugin is installed. If the cache is enabled, the plugin populates it during initialization. Otherwise, the plugin populates only the key list during initialization.Enabling the cache is a compromise: It improves performance, but maintains a copy of sensitive key information in memory, which may be undesirable for security purposes.
keyring_hashicorp_commit_auth_pathDeprecated Yes System Variable keyring_hashicorp_commit_auth_pathScope Global Dynamic No SET_VARHint AppliesNo Type String This variable is associated with
keyring_hashicorp_auth_path, from which it takes its value duringkeyring_hashicorpplugin initialization. This variable is unavailable unless that plugin is installed. It reflects the “committed” value actually used for plugin operation if initialization succeeds. For additional information, see keyring_hashicorp Configuration.keyring_hashicorp_commit_ca_pathDeprecated Yes System Variable keyring_hashicorp_commit_ca_pathScope Global Dynamic No SET_VARHint AppliesNo Type String This variable is associated with
keyring_hashicorp_ca_path, from which it takes its value duringkeyring_hashicorpplugin initialization. This variable is unavailable unless that plugin is installed. It reflects the “committed” value actually used for plugin operation if initialization succeeds. For additional information, see keyring_hashicorp Configuration.keyring_hashicorp_commit_cachingDeprecated Yes System Variable keyring_hashicorp_commit_cachingScope Global Dynamic No SET_VARHint AppliesNo Type String This variable is associated with
keyring_hashicorp_caching, from which it takes its value duringkeyring_hashicorpplugin initialization. This variable is unavailable unless that plugin is installed. It reflects the “committed” value actually used for plugin operation if initialization succeeds. For additional information, see keyring_hashicorp Configuration.keyring_hashicorp_commit_role_idDeprecated Yes System Variable keyring_hashicorp_commit_role_idScope Global Dynamic No SET_VARHint AppliesNo Type String This variable is associated with
keyring_hashicorp_role_id, from which it takes its value duringkeyring_hashicorpplugin initialization. This variable is unavailable unless that plugin is installed. It reflects the “committed” value actually used for plugin operation if initialization succeeds. For additional information, see keyring_hashicorp Configuration.keyring_hashicorp_commit_server_urlDeprecated Yes System Variable keyring_hashicorp_commit_server_urlScope Global Dynamic No SET_VARHint AppliesNo Type String This variable is associated with
keyring_hashicorp_server_url, from which it takes its value duringkeyring_hashicorpplugin initialization. This variable is unavailable unless that plugin is installed. It reflects the “committed” value actually used for plugin operation if initialization succeeds. For additional information, see keyring_hashicorp Configuration.keyring_hashicorp_commit_store_pathDeprecated Yes System Variable keyring_hashicorp_commit_store_pathScope Global Dynamic No SET_VARHint AppliesNo Type String This variable is associated with
keyring_hashicorp_store_path, from which it takes its value duringkeyring_hashicorpplugin initialization. This variable is unavailable unless that plugin is installed. It reflects the “committed” value actually used for plugin operation if initialization succeeds. For additional information, see keyring_hashicorp Configuration.-
Command-Line Format --keyring-hashicorp-role-id=valueDeprecated Yes System Variable keyring_hashicorp_role_idScope Global Dynamic Yes SET_VARHint AppliesNo Type String Default Value empty stringThe HashiCorp Vault AppRole authentication role ID, for use by the
keyring_hashicorpplugin. This variable is unavailable unless that plugin is installed. The value must be in UUID format.This variable is mandatory. If not specified,
keyring_hashicorpinitialization fails. -
Command-Line Format --keyring-hashicorp-secret-id=valueDeprecated Yes System Variable keyring_hashicorp_secret_idScope Global Dynamic Yes SET_VARHint AppliesNo Type String Default Value empty stringThe HashiCorp Vault AppRole authentication secret ID, for use by the
keyring_hashicorpplugin. This variable is unavailable unless that plugin is installed. The value must be in UUID format.This variable is mandatory. If not specified,
keyring_hashicorpinitialization fails.The value of this variable is sensitive, so its value is masked by
*characters when displayed. -
Command-Line Format --keyring-hashicorp-server-url=valueDeprecated Yes System Variable keyring_hashicorp_server_urlScope Global Dynamic Yes SET_VARHint AppliesNo Type String Default Value https://127.0.0.1:8200The HashiCorp Vault server URL, for use by the
keyring_hashicorpplugin. This variable is unavailable unless that plugin is installed. The value must begin withhttps://. -
Command-Line Format --keyring-hashicorp-store-path=valueDeprecated Yes System Variable keyring_hashicorp_store_pathScope Global Dynamic Yes SET_VARHint AppliesNo Type String Default Value empty stringA store path within the HashiCorp Vault server that is writeable when appropriate AppRole credentials are provided by the
keyring_hashicorpplugin. This variable is unavailable unless that plugin is installed. To specify the credentials, set thekeyring_hashicorp_role_idandkeyring_hashicorp_secret_idsystem variables (for example, as shown in keyring_hashicorp Configuration).This variable is mandatory. If not specified,
keyring_hashicorpinitialization fails. -
Command-Line Format --keyring-okv-conf-dir=dir_nameSystem Variable keyring_okv_conf_dirScope Global Dynamic Yes SET_VARHint AppliesNo Type Directory name Default Value empty stringThe path name of the directory that stores configuration information used by the
keyring_okvplugin. This variable is unavailable unless that plugin is installed. The location should be a directory considered for use only by thekeyring_okvplugin. For example, do not locate the directory under the data directory.The default
keyring_okv_conf_dirvalue is empty. For thekeyring_okvplugin to be able to access Oracle Key Vault, the value must be set to a directory that contains Oracle Key Vault configuration and SSL materials. For instructions on setting up this directory, see Section 8.4.5.6, “Using the keyring_okv KMIP Plugin”.The directory should have a restrictive mode and be accessible only to the account used to run the MySQL server. For example, on Unix and Unix-like systems, to use the
/usr/local/mysql/mysql-keyring-okvdirectory, the following commands (executed asroot) create the directory and set its mode and ownership:cd /usr/local/mysql mkdir mysql-keyring-okv chmod 750 mysql-keyring-okv chown mysql mysql-keyring-okv chgrp mysql mysql-keyring-okvIf the value assigned to
keyring_okv_conf_dirspecifies a directory that does not exist, or that does not contain configuration information that enables a connection to Oracle Key Vault to be established,keyring_okvwrites an error message to the error log. If an attempted runtime assignment tokeyring_okv_conf_dirresults in an error, the variable value and keyring operation remain unchanged. -
System Variable keyring_operationsScope Global Dynamic Yes SET_VARHint AppliesNo Type Boolean Default Value ONWhether keyring operations are enabled. This variable is used during key migration operations. See Section 8.4.5.13, “Migrating Keys Between Keyring Keystores”. The privileges required to modify this variable are
ENCRYPTION_KEY_ADMINin addition to eitherSYSTEM_VARIABLES_ADMINor the deprecatedSUPERprivilege.