MySQL Error number: MY-013846; Symbol: ER_PERSISTED_VARIABLES_LACK_KEYRING_SUPPORT; SQLSTATE: HY000

文档解释

Error number: MY-013846; Symbol: ER_PERSISTED_VARIABLES_LACK_KEYRING_SUPPORT; SQLSTATE: HY000

Message: Persisting SENSITIVE variables in encrypted form requires keyring component loaded through manifest file.

MY-013846;ER_PERSISTED_VARIABLES_LACK_KEYRING_SUPPORT;HY000 错误是MySQL中由于密钥不支持已持久化变量而引发的一个错误代码。这个错误指示MySQL无法读取或更新持久化变量,因为系统中没有钥匙存储库可以检索和保存加密内容。

错误说明

ER_PERSISTED_VARIABLES_LACK_KEYRING_SUPPORT错误指出MySQL系统没有在使用持久变量之前安装安全密钥库存储库。持久变量的功能要求MySQL必须拥有一个安全的存储库,用于保存加密的会话数据,例如用户凭据。如果没有安全的存储库,MySQL就无法按照预期使用持久变量。

常见案例

ER_PERSISTED_VARIABLES_LACK_KEYRING_SUPPORT错误通常是在尝试使用未正确配置的持久化变量时发生的。比如,设置了 def_persist_only 值定义Session Variables 并且系统中没有合适的安全密钥库存储库,MySQL就会报出这个错误。同样,在尝试从持久化变量中读取值时也可能出现这个错误。

解决方法

要解决ER_PERSISTED_VARIABLES_LACK_KEYRING_SUPPORT错误,MySQL必须具备可以存储和检索加密数据的安全存储库,并将其配置为能够从MySQL中使用。该密钥库存储库可以是密钥文件系统(KFS)或Windows数据保护API(DPAPI)。要在MySQL中正确配置安全存储库,可以使用“ key_ring_endpoint_add”系统存储过程或使用“persist_only”选项将持久变量设置为只读。这些存储过程和变量可以从MySQL官方文档中获得。

此外,有时ER_PERSISTED_VARIABLES_LACK_KEYRING_SUPPORT的错误可能暗示MySQL的安全密钥库存储库已损坏,这可能是由于字符编码问题而导致的,有时还可能是由于损坏的某些存储库文件而导致的。如果发现存在这种情况,MySQL将不再运行安全存储库,直到检测到损坏的存储库文件并删除它们或解决导致损坏的问题为止。

你可能感兴趣的