USER_ATTRIBUTES
表提供有关用户注释和用户属性的信息。它从 mysql.user
系统表获取其值。
USER_ATTRIBUTES
表包含以下列
USER
ATTRIBUTE
列值所应用的帐户的用户名部分。HOST
ATTRIBUTE
列值所应用的帐户的主机名部分。ATTRIBUTE
由
USER
和HOST
列指定的帐户所属的用户注释、用户属性或两者。该值以 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 语句”。