Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  The INFORMATION_SCHEMA USER_ATTRIBUTES Table

28.3.46 信息架构 USER_ATTRIBUTES 表

USER_ATTRIBUTES 表提供了用户注释和用户属性的信息。它从 mysql.user 系统表中获取值。

USER_ATTRIBUTES 表具有以下列:

  • USER

    应用于该 ATTRIBUTE 列值的账户用户名部分。

  • HOST

    应用于该 ATTRIBUTE 列值的账户主机名部分。

  • ATTRIBUTE

    属于该账户的用户注释、用户属性或两者,指定为 JSON 对象表示法。属性显示为使用 CREATE USERALTER USER 语句的 ATTRIBUTECOMMENT 选项设置的值。注释显示为键值对,键为 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 选项启动)。

      • 当前认证的账户拥有 UPDATESELECT 权限的 mysql.user 系统表。

      • 当前认证的账户拥有 CREATE USERSYSTEM_USER 权限。

    • 否则,当前认证的账户只能看到该账户的行。此外,如果账户拥有 CREATE USER 权限但不拥有 SYSTEM_USER 权限,它可以看到所有其他不拥有 SYSTEM_USER 权限的账户的行。

有关指定账户注释和属性的更多信息,请参阅 第 15.7.1.3 节,“CREATE USER 语句”