USER_ATTRIBUTES表提供有关用户注释和用户属性的信息。它从mysql.user系统表中获取其值。
该USER_ATTRIBUTES表包括以下列:
USER
注释,属性或两者都属于的帐户名的用户名部分。
HOST
帐户名的主机名部分。
ATTRIBUTE
用户注释,用户属性或两者均属于JSON对象表示法中的前两列中显示的用户和主机指定的用户。属性的显示与使用CREATE USER ... ATTRIBUTE ...或 设置的完全相同 ALTER USER ... ATTRIBUTE ...。用户评论显示为具有键的键值对comment。
例如,该语句 CREATE USER 'bill'@'localhost' COMMENT 'A comment' ATTRIBUTE '{"foo": "bar", "bazz": "fazz"}'将以下行添加到USER_ATTRIBUTES表中:
+------+-----------+--------------------------------------------------------+
| USER | HOST | ATTRIBUTE |
+------+-----------+--------------------------------------------------------+
| bill | localhost | {"foo": "bar", "bazz": "fazz", "comment": "A comment"} |
+------+-----------+--------------------------------------------------------+
笔记
USER_ATTRIBUTES是非标准 INFORMATION_SCHEMA表。
要仅获取给定用户的用户注释(不带引号的字符串),可以使用如下查询:
mysql> SELECT ATTRIBUTE->>"$.comment" AS Comment
-> FROM INFORMATION_SCHEMA.USER_ATTRIBUTES
-> WHERE USER='bill' AND HOST='localhost';
+-----------+
| Comment |
+-----------+
| A comment |
+-----------+
同样,您可以使用键的值获得给定用户属性的未报价值。
该USER_ATTRIBUTES表是在MySQL 8.0.21中添加的。