How to Create a Superuser in MySql | by Umair Feroze | Apr, 2022

Picture by Ingo Stiller on Unsplash

A superuser in MySQL is a person that has an all-access move granting root-like entry to all the executive privileges supplied by MySQL.

MySQL offers privileges to an account to find out the operations that an account can carry out. They’re:

  • Administrative privileges allow customers to handle MySQL server operations. These privileges are international and never particular to a database.
  • Database privileges apply to a database and all objects inside it. These privileges may be granted for particular databases or utilized to all databases.
  • Privileges for database objects equivalent to tables, indexes, views, and saved routines may be granted for particular objects inside a database, for all objects of a given sort inside a database, or globally for all objects of a given sort in all databases.

So, let’s go forward and create our superuser.


Firstly, you need to log in as the basis person. If you’re utilizing MySQL Workbench, the login course of is kind of easy. Else, you need to use the next code within the command line.

mysql -u root -p <your_password>

Create a brand new person

Right here we create the person that we wish to make a superuser.

CREATE USER ‘<user_name>’@’localhost' IDENTIFIED BY ‘<password>'

Granting Privileges

At the moment, the person has no privileges over any database. There it’s essential to grant them privileges. MySQL affords the next primary database privileges:

  • ALL PRIVILEGES: full root entry to the databases. If no database is specified, it has international entry throughout the system.
  • CREATE: create new tables or databases
  • DROP: delete tables or databases
  • DELETE: delete rows from tables
  • INSERT: insert rows into tables
  • SELECT: use the SELECT command to learn by means of databases
  • UPDATE: replace desk rows
  • GRANT OPTION — grant or take away different customers’ privileges

For an in depth record of all MySQL privileges, go to the MySQL official documentation.

Make Superuser

Since we’re making a superuser, we are going to grant our person all privileges, which is the GRANT ALL PRIVILEGES choice.

GRANT ALL PRIVILEGES ON *.* TO ‘<user_name>’@’localhost' WITH GRANT OPTION;

Our person now has root-like entry with all privileges.

Create one other account for a similar username

We’ll now create one other account for a similar username.

However this time, we’re offering a wildcard ‘%’ for the host, to permit any host to hook up with it.

It’s because the person we created with ‘localhost’ may be accessed through localhost solely.

CREATE USER '<user_name>'@'%' IDENTIFIED BY '<password>';

Now, let’s grant our wildcard person his superuser privileges.


Confirm person privileges

Now that we’ve created our superuser, let’s confirm that our person has his privileges. For this, we use the SHOW GRANTS command.

SHOW GRANTS FOR <user_name>;

As soon as we’ve confirmed our person has all privileges, let’s reload them.

Reload all privileges

To reload all of the privileges, we use the FLUSH PRIVILEGES command in your question.


More Posts