MySQL Error number: MY-011372; Symbol: ER_KEYRING_FAILED_TO_FLUSH_KEYS_TO_KEYRING; SQLSTATE: HY000

文档解释

Error number: MY-011372; Symbol: ER_KEYRING_FAILED_TO_FLUSH_KEYS_TO_KEYRING; SQLSTATE: HY000

Message: Could not flush keys to keyring

错误说明

MY-011372 (ER_KEYRING_FAILED_TO_FLUSH_KEYS_TO_KEYRING) 是一种MySQL错误,指MySQL在执行对密码存储到加密访问服务(keyring_encrypted_file)时失败。 这是一个系统错误,并以下列消息表示:

“Failed to flush keys to the keyring, please check the keyring_encrypted_file plugin is loaded and the server is able to write to it”.

常见案例

在MySQL5.7、8.0和8.0.18版本中,MySQL更改了密码加密访问(keyring_encrypted_file)的架构,这标志着用户必须在可用的keyring_encrypted_file服务中加载数据,否则会导致出现MY-011372错误。 MySQL在加密密码时使用keyring服务,此时加载keyring_encrypted_file服务会失败,即MY-011372错误出现。

解决方案

要解决此问题,首先要正确启动keyring_encrypted_file服务,然后重新加载MySQL服务,亦或者更新MySQL并重启MySQL服务器。

首先,加载keyring_encrypted_file插件:

“`sql

INSTALL PLUGIN keyring_encrypted_file SONAME ‘keyring_encrypted_file.so’;

“`

然后,重新加载MySQL服务并让MySQL调用相应的存储插件:

“`sql

SET GLOBAL keyring_operations=”keyring_file=keyring_encrypted_file.store”;

“`

最后,更新或重新启动MySQL服务器:

“`sql

systemctl restart mysql.service

“`

如果MySQL无法加密密码到keyring_encrypted_file插件,这时候就可以使用上面的方法来解决MY-011372出现的错误。

你可能感兴趣的