文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  INFORMATION_SCHEMA USER_ATTRIBUTES 表

28.3.45 INFORMATION_SCHEMA USER_ATTRIBUTES 表

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

USER_ATTRIBUTES 表包含以下列

  • USER

    ATTRIBUTE 列值所应用的帐户的用户名部分。

  • HOST

    ATTRIBUTE 列值所应用的帐户的主机名部分。

  • ATTRIBUTE

    USERHOST 列指定的帐户所属的用户注释、用户属性或两者。该值以 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 语句”