Account Management Statements Each account name uses the format described in Section 6.2.4, “Specifying Account Names” . The host name part of the account name, if omitted, defaults to  ’%’ . It is also possible to specify  CURRENT_USER  or CURRENT_USER()  to refer to the account associated with the current session. For one syntax only, the account may be specified with the  USER()  function: This syntax enables changing your own password without naming your account literally. (The syntax also supports the  REPLACE ,  RETAIN CURRENT PASSWORD , and  DISCARD OLD PASSWORD  clauses described at ALTER USER Authentication Options.) MySQL 8.0.21 and later supports user comments and user attributes, as described in Section 13.7.1.3, “CREATE USER Statement” . These can be modified employing  ALTER USER  by means of the  COMMENT and  ATTRIBUTE  options, respectively. You cannot specify both options in the same  ALTER USER statement; attempting to do so results in a syntax error. ALTER USER USER() IDENTIFIED BY ’ auth_string ’; The user comment and user attribute are stored in the  INFORMATION_SCHEMA.USER_ATTRIBUTES  table as a JSON object; the user comment is stored as the value for a  comment  key in the ATTRIBUTE column of this table, as shown later in this discussion. The  COMMENT  text can be any arbtitrary quoted text, and replaces any existing user comment. The  ATTRIBUTE  value must be the valid string represntation of a JSON object. This is merged with any existing user attribute as if the  JSON_MERGE_PATCH()  function had been used on the existing user attribute and the new one; for any keys that are re-used, the new value overwrites the old one, as shown here: mysql>  SELECT * FROM INFORMATION_SCHEMA.USER_ATTRIBUTES -> WHERE USER=’bill’ AND HOST=’localhost’; +------+-----------+----------------+ | USER | HOST | ATTRIBUTE | +------+-----------+----------------+ | bill | localhost | {"foo": "bar"} | +------+-----------+----------------+ 1 row in set (0.11 sec) mysql>  ALTER USER ’bill’@’localhost’ ATTRIBUTE ’{"baz": "faz", "foo": "moo"}’; Query OK, 0 rows affected (0.22 sec) mysql>  SELECT * FROM INFORMATION_SCHEMA.USER_ATTRIBUTES -> WHERE USER=’bill’ AND HOST=’localhost’; +------+-----------+------------------------------+ | USER | HOST | ATTRIBUTE | +------+-----------+------------------------------+ | bill | localhost | {"baz": "faz", "foo": "moo"} | +------+-----------+------------------------------+ 1 row in set (0.00 sec) mysql>  ALTER USER ’bill’@’localhost’ ATTRIBUTE ’{"foo": null}’; Query OK, 0 rows affected (0.08 sec) mysql>  SELECT * FROM INFORMATION_SCHEMA.USER_ATTRIBUTES -> WHERE USER=’bill’ AND HOST=’localhost’; +------+-----------+----------------+ | USER | HOST | ATTRIBUTE | +------+-----------+----------------+ | bill | localhost | {"baz": "faz"} | +------+-----------+----------------+ 1 row in set (0.00 sec) To set an existing user comment to an empty string, use  ALTER USER ... COMMENT ’’ . This leaves an empty  comment  value in the  USER_ATTRIBUTES  table; to remove the user comment completely, use To remove a key and its value from the user attribute, set the key to JSON  null  (must be lowercase and unquoted), like this: 2837