The RENAME USER command in MySQL is used to change the username for an existing user account in the database. This can be necessary when the original username is no longer appropriate, outdated, or if you want to consolidate multiple user accounts under a single, unified identity.


RENAME USER old_username TO new_username;


  • old_username: The current username that needs to be changed.
  • new_username: The new username that will replace the old one.




Simple Example:

RENAME USER old_user_name TO new_user_name;

This command changes the username ‘old_user_name’ to ‘new_user_name’.

Changing Username with Wildcard:

RENAME USER 'some_user_%' TO 'new_user_%';

This command changes the usernames of all existing users that start with ‘some_user_’ to ‘new_user_’ instead.

Common Issues

Error: User Does Not Exist:

If the specified old_username is not found in the database, you will receive an error message. Make sure the username you are trying to change exists before executing the command.

Error: Username Already Exists:

If the new_username you are trying to set already exists, you will encounter an error. Choose a different, unique username.


The RENAME USER command can be used in conjunction with other MySQL commands for managing user accounts. For instance, you can create a new user, grant them specific privileges, and then rename them to a more suitable name using the following command chain:

CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database_name.* TO 'new_user'@'localhost';
RENAME USER 'new_user' TO 'admin_user';
  • CREATE USER: To create a new user account in MySQL.
  • DROP USER: To delete an existing user account from MySQL.
  • GRANT: To grant specific privileges to a MySQL user.
  • REVOKE: To revoke privileges from a MySQL user.