MySQL Error number: MY-013842; Symbol: ER_PERSISTED_VARIABLES_MASTER_KEY_NOT_FOUND; SQLSTATE: HY000

文档解释

Error number: MY-013842; Symbol: ER_PERSISTED_VARIABLES_MASTER_KEY_NOT_FOUND; SQLSTATE: HY000

Message: Could not find master key %s in keyring

Error number:MY-013842 ; Symbol:ER_PERSISTED_VARIABLES_MASTER_KEY_NOT_FOUND; SQLSTATE: HY000

错误说明:

当用户尝试设置持久变量时,MySQL内部错误MY-013842(ER_PERSISTED_VARIABLES_MASTER_KEY_NOT_FOUND)就会发生。 这表明MySQL正在做的尝试失败了,因为没有主密钥可以用于存储持久变量值。

此错误一般与MySQL 8.0 中的持久用户变量相关,这是MySQL在8.0版本中新增的功能,该功能的目的是保存用户变量的值,直到重启MySQL为止。

此外,要应用持久变量,必须使用–persisted-variables-master-key参数,以允许MySQL使用指定的环境变量。

常见案例

在MySQL 8.0中执行以下操作时,将发生ER_PERSISTED_VARIABLES_MASTER_KEY_NOT_FOUND错误:

SET @x = 1;

如果上面的操作不带–persisted-variables-master-key参数执行,则会引发此错误消息。

解决方法:

解决此错误的最简单方法是使用–persisted-variables-master-key参数。 因此,之前示例中的命令应该更新为:

SET @x = 1;–persisted-variables-master-key=

其中应替换为实际主密钥值。

此外,您还可以通过同时使用–persisted-variables-encryption-algorithm = ‘algorithm_name’以及–persisted-variables-encryption-key = ”参数来更改加密参数,用于存储持久变量数据(其中algorithm_name是要应用的加密算法,而encryption_key_value是用于加密的密钥值)。

重要提示:在更改安全设置时,一定要务必谨慎行事,以确保持久变量的安全性!

你可能感兴趣的