DROP USER [IF EXISTS] user [, user] ...
DROP USER statement removes
one or more MySQL accounts and their privileges. It removes
privilege rows for the account from all grant tables.
DROP USER, you must have
CREATE USER privilege,
DELETE privilege for the
mysql database. When the
read_only system variable is
DROP USER additionally
An error occurs if you try to drop an account that does not exist.
As of MySQL 5.7.8, the
IF EXISTS clause can
be used, which causes the statement to produce a warning for
each named account that does not exist, rather than an error.
Each account name uses the format described in Section 6.2.3, “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 will fail. 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
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, “Access Control for Stored Programs and Views”.)