# 26.3.46 信息_架构用户_属性表
这USER_ATTRIBUTES
表(自 MySQL 8.0.21 起可用)提供有关用户评论和用户属性的信息。它从mysql.user
系统表。
这USER_ATTRIBUTES
表有这些列:
用户
帐户的用户名部分,
属性
列值适用。主持人
帐户的主机名部分,
属性
列值适用。属性
属于指定帐户的用户评论、用户属性或两者
用户
和主持人
列。该值采用 JSON 对象表示法。属性完全按照设置显示使用创建用户
和更改用户
与声明属性
要么评论
选项。评论显示为键值对,具有评论
作为关键。有关其他信息和示例,请参阅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
选项)。当前经过身份验证的帐户具有
创建用户
和SYSTEM_USER
特权。
否则,当前经过身份验证的帐户可以看到该帐户的行。此外,如果该帐户有
创建用户
特权但不是SYSTEM_USER
权限,它可以查看所有其他没有权限的帐户的行SYSTEM_USER
特权。
有关指定帐户注释和属性的更多信息,请参阅第 13.7.1.3 节,“创建用户语句”.