MySQL Error number: 3982; Symbol: ER_INVALID_USER_ATTRIBUTE_JSON; SQLSTATE: HY000

文档解释

Error number: 3982; Symbol: ER_INVALID_USER_ATTRIBUTE_JSON; SQLSTATE: HY000

Message: The user attribute must be a valid JSON object

Error number: 3982; Symbol: ER_INVALID_USER_ATTRIBUTE_JSON; SQLSTATE: HY000

错误说明:

ER_INVALID_USER_ATTRIBUTE_JSON 是 MySQL 的一个错误,出现这个错误的具体原因是在MySQL-5.7.6 和 更高版本中,使用属性字符串 “SET IDENTIFIED WITH mysql_native_password BY ‘user’@’host'”在创建MySQL用户时反馈了不合法的JSON格式。

常见案例

在运行 CREATE USER 语句时,使用一个不正确的设置格式会引发 ER_INVALID_USER_ATTRIBUTE_JSON 错误。例如,当使用如下格式创建 MySql用户时:

CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘password’ SET IDENTIFIED WITH mysql_native_password BY ‘user’@’host’;

它将返回 ER_INVALID_USER_ATTRIBUTE_JSON 错误,因为它没有以正确的 JSON 格式提供设置参数。

解决方法:

解决 ER_INVALID_USER_ATTRIBUTE_JSON 错误的方法很简单,只需要确保在执行 CREATE USER 语句时,提供设置参数的格式是正确的,按照如下格式提供:

CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘password’ SET IDENTIFIED WITH ‘mysql_native_password’ AS ‘{”user”: ”host”}’;

这样就可以正确的识别MySQL 创建用户的设置,从而避免背错误。

你可能感兴趣的