该USER_ATTRIBUTES表(自 MySQL 8.0.21 起可用)提供有关用户评论和用户属性的信息。它从 mysql.user系统表中获取其值。
该USER_ATTRIBUTES表包含以下列:
-
USER该列值适用的帐户的用户名部分
ATTRIBUTE。 -
HOST列值适用的帐户的主机名部分
ATTRIBUTE。 -
ATTRIBUTEUSER和 列 指定的帐户的用户注释、用户属性或两者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 | +-----------+类似地,您可以使用其键获取给定用户属性的未加引号的值。
-
在 MySQL 8.0.22 之前,
USER_ATTRIBUTES任何人都可以访问内容。从 MySQL 8.0.22 开始,USER_ATTRIBUTES内容的访问方式如下:- 如果满足以下条件,则所有行均可访问:
- 当前线程是副本线程。
- 访问控制系统尚未初始化(例如,服务器使用该
--skip-grant-tables选项启动)。 - 当前已验证的帐户具有 系统表的
UPDATE或 权限。SELECTmysql.user - 当前已验证的帐户具有
CREATE USER和SYSTEM_USER权限。
- 否则,当前已验证的帐户可以看到该帐户的行。此外,如果帐户有权限
CREATE USER但没有SYSTEM_USER权限,则它可以看到所有其他没有权限的帐户的行SYSTEM_USER。
- 如果满足以下条件,则所有行均可访问:
有关指定帐户注释和属性的更多信息,请参见第 15.7.1.3 节“CREATE USER 语句”。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




