RENAME USERold_user
TOnew_user
[,old_user
TOnew_user
] ...
The RENAME USER
statement renames
existing MySQL accounts. To use it, you must have the global
CREATE USER
privilege or the
UPDATE
privilege for the
mysql
database. An error occurs if any old
account does not exist or any new account exists. Each account
name uses the format described in
Section 5.4.3, “Specifying Account Names”. For example:
RENAME USER 'jeffrey'@'localhost' TO 'jeff'@'127.0.0.1';
If you specify only the user name part of the account name, a
host name part of '%'
is used.
RENAME USER
causes the privileges
held by the old user to be those held by the new user. However,
RENAME 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 old user. Attempts to access such objects may produce an
error if they execute in definer security context. (For
information about security context, see
Section 19.6, “Access Control for Stored Programs and Views”.)
The privilege changes take effect as indicated in Section 5.4.6, “When Privilege Changes Take Effect”.