DROP USER [IF EXISTS] user [, user] ...
The DROP USER
statement removes
one or more MySQL accounts and their privileges. It removes
privilege rows for the account from all grant tables.
To use DROP USER
, you must have
the global CREATE USER
privilege,
or the DELETE
privilege for the
mysql
system database. When the
read_only
system variable is
enabled, DROP USER
additionally
requires the SUPER
privilege.
An error occurs if you try to drop an account that does not
exist. If the IF EXISTS
clause is given, the
statement produces a warning for each named user that does not
exist, rather than an error.
Each account name uses the format described in Section 6.2.4, “Specifying Account Names”. For example:
DROP USER 'jeffrey'@'localhost';
The host name part of the account name, if omitted, defaults to
'%'
.
DROP USER
does not
automatically close any open user sessions. Rather, in the
event that a user with an open session is dropped, the
statement does not take effect until that user's session is
closed. Once the session is closed, the user is dropped, and
that user's next attempt to log in fails. This
is by design.
DROP USER
does not automatically
drop or invalidate databases or objects within them that the old
user created. This includes stored programs or views for which
the DEFINER
attribute names the dropped user.
Attempts to access such objects may produce an error if they
execute in definer security context. (For information about
security context, see
Section 23.6, “Stored Object Access Control”.)