MySQL 8.3 Release Notes
该 USER_ATTRIBUTES
表提供了用户注释和用户属性的信息。它从 mysql.user
系统表中获取值。
该 USER_ATTRIBUTES
表具有以下列:
-
USER
应用于该
ATTRIBUTE
列值的账户用户名部分。 -
HOST
应用于该
ATTRIBUTE
列值的账户主机名部分。 -
ATTRIBUTE
属于该账户的用户注释、用户属性或两者,指定为 JSON 对象表示法。属性显示为使用
CREATE USER
和ALTER USER
语句的ATTRIBUTE
或COMMENT
选项设置的值。注释显示为键值对,键为comment
。更多信息和示例,请参阅 CREATE USER 注释和属性选项。
注意
-
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
内容可以通过以下方式访问:-
所有行都可以访问,如果:
-
当前线程是一个副本线程。
-
访问控制系统尚未初始化(例如,服务器以
--skip-grant-tables
选项启动)。 -
当前认证的账户拥有
CREATE USER
和SYSTEM_USER
权限。
-
-
否则,当前认证的账户只能看到该账户的行。此外,如果账户拥有
CREATE USER
权限但不拥有SYSTEM_USER
权限,它可以看到所有其他不拥有SYSTEM_USER
权限的账户的行。
-
有关指定账户注释和属性的更多信息,请参阅 第 15.7.1.3 节,“CREATE USER 语句”。