Documentation Home
MySQL 5.7 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 35.1Mb
PDF (A4) - 35.2Mb
Man Pages (TGZ) - 256.4Kb
Man Pages (Zip) - 361.2Kb
Info (Gzip) - 3.4Mb
Info (Zip) - 3.4Mb
Excerpts from this Manual

13.7.1.5 RENAME USER Statement

RENAME USERold_user TOnew_user    [,old_user TOnew_user] ...

TheRENAME USER statement renames existing MySQL accounts. An error occurs for old accounts that do not exist or new accounts that already exist.

To useRENAME USER, you must have the globalCREATE USER privilege, or theUPDATE privilege for themysql system database. When theread_only system variable is enabled,RENAME USER additionally requires theSUPER privilege.

Each account name uses the format described inSection 6.2.4, “Specifying Account Names”. For example:

RENAME USER 'jeffrey'@'localhost' TO 'jeff'@'127.0.0.1';

The host name part of the account name, if omitted, defaults to'%'.

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 theDEFINER 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, seeSection 23.6, “Stored Object Access Control”.)

The privilege changes take effect as indicated inSection 6.2.9, “When Privilege Changes Take Effect”.