≡ Menu

How to delete or remove a MySQL/MariaDB user account on Linux or Unix

I created a MySQL / MariaDB user account using this page. Now, I have deleted my wordpress blog and I want to delete that user account including database too. How do I delete or remove a MySQL or MariaDB user account on Linux or Unix-like system using mysql command line option?

Both MySQL and MariaDB is an open source database management system. In this quick tutorial, you will learn how to delete ore remove user account in MySQL or MariaDB database on Linux or Unix-like system.

Warning: Backup your database before you type any one of the following command.

Step 1 – Steps for removing a MySQL/MariaDB user

If you decided to remove open source application such as WordPress or Drupal you need to remove that user account. You need to remove all permissions/grants, and delete the user from the MySQL table. First, login as mysql root user to the MySQL/MariaDB server using the shell, run:
$ mysql -u root -p mysql
OR
$ mysql -u root -h server-name-here -p mysql
Sample outputs:

Fig.01: The MySQL/MariaDB shell

Fig.01: The MySQL/MariaDB shell

Step 2 – List all mysql users

Once you have a MySQL or MariaDB prompt that looks very similar to fig.01, type the following command at mysql> or mariadb> prompt to see a list of MySQL/MariaDB users:
mariadb> SELECT User,Host FROM mysql.user;
Sample outputs:

Fig.02: How to see/get a list of MySQL/MariaDB users accounts

Fig.02: How to see/get a list of MySQL/MariaDB users accounts


In this above example, I need to delete a mysql user named ‘bloguser’@’localhost’.

Step 3 – List grants for a mysql user

To see what grants bloguser have, enter:
mariadb> SHOW GRANTS FOR 'bloguser'@'localhost';
Sample outputs:

Fig.03: Display user grants

Fig.03: Display user grants


Where,

  1. bloguser – Mysql/Maridb user name
  2. localhost – Mysql/Mariadb host name
  3. mywpblog – Database name

Step 4 – Revoke all grants for a mysql user

Type the following sql command:
mariadb> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'bloguser'@'localhost';
Sample outputs:

Query OK, 0 rows affected (0.00 sec)

Step 5 – Remove/Delete the user from the user table

Type the following sql command:
mariadb> DROP USER 'bloguser'@'localhost';
Sample outputs:

Query OK, 0 rows affected (0.00 sec)

Step 6 – Delete the database

Type the following command:
mariadb> DROP DATABASE mywpblog;
Sample outputs:

Query OK, 0 rows affected (0.00 sec)

And there you have it. A MySQL/MariaDB user deleted or removed from the server on Unix or Linux via command line option.

Share this tutorial on:

Your support makes a big difference:
I have a small favor to ask. More people are reading the nixCraft. Many of you block advertising which is your right, and advertising revenues are not sufficient to cover my operating costs. So you can see why I need to ask for your help. The nixCraft, takes a lot of my time and hard work to produce. If you use nixCraft, who likes it, helps me with donations:
Become a Supporter →    Make a contribution via Paypal/Bitcoin →   

Don't Miss Any Linux and Unix Tips

Get nixCraft in your inbox. It's free:



{ 6 comments… add one }
  • Foobar February 15, 2017, 10:04 pm

    Using “mysql -u root -p mysql” in the commandline is a realy bad idea, the plain password will be visible in the history! just use “-p” without the password, will avoid this and asks for the password.

    • Vivek Gite February 16, 2017, 2:59 am

      That is not a password. mysql is database name. For password syntax is:
      mysql -u root -p'password' mysql

      • Foobar February 16, 2017, 3:46 pm

        Doh! Sorry, my fault – didn’t realize the space

  • Dmitriy Lyalyuev February 16, 2017, 10:05 am

    `Step 5 – Delete the database`
    Step 5 is duplicate. You mean ‘Step 6’ ;)

  • Dmitriy Lyalyuev February 16, 2017, 10:07 am

    ‘mariadb> DROP DATABASE mywpblog;;’

    ‘;;’ – should be one ‘;’

Security: Are you a robot or human?

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">


   Tagged with: ,