DEV Community

Cover image for How to Reset MySQL root password in Ubuntu
Suresh Ramani
Suresh Ramani

Posted on • Originally published at techvblogs.com

How to Reset MySQL root password in Ubuntu

Passwords are hard to remember, so if you have forgotten the MySQL root password, luckily, there is a way to change it. This post has been written for you, and by the end of this post, you will have successfully changed the password of MySQL.

This blog demonstrates how to reset the root password for MySQL and MariaDB databases installed with the apt package manager on Ubuntu. The procedure for changing the root password differs depending on whether you have MySQL installed and the default systemd configuration that ships with the distribution or packages from other vendors.

Before moving on to the answer, it is assumed that you have the latest version of the MySQL database for Ubuntu. This blog will offer an easy-to-follow guide for changing your MySQL root passwords in Ubuntu. Therefore, without wasting time, let's begin.

1. Check MySQL Version

First, check the version of your MySQL because this post contains the solution of changing the root password on version 8 or higher. If the version of your MySQL is lower than 8, then the answer will be different. Run the following command:

mysql --version
Enter fullscreen mode Exit fullscreen mode

MySQL Version Output:

mysql  Ver 8.0.27-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
Enter fullscreen mode Exit fullscreen mode

2. Stop MySQL Server

To change the MySQL root password, you first need to shut down the MySQL server, run the following command:

sudo systemctl stop mysql.service
Enter fullscreen mode Exit fullscreen mode

Check the status of the MySQL server to verify. Run the following command:

sudo systemctl status mysql.service
Enter fullscreen mode Exit fullscreen mode

3. Skip Grant Tables & Networking

To start the MySQL server without granting the tables and networking check, set the environment variable MYSQLD_OPTS, which MySQL uses on startup. Run the following command:

sudo systemctl set-environment MYSQLD_OPTS="--skip-networking --skip-grant-tables"
Enter fullscreen mode Exit fullscreen mode

Alright, the environment variable is a set, and we can log in to the MySQL shell providing no password.

4. Start MySQL Service

After setting the environment variable MYSQLD_OPTS, start the MySQL service. Run the following command:

sudo systemctl start mysql.service
Enter fullscreen mode Exit fullscreen mode

5. Login To MySQL Shell

At this stage, we can access the MySQL database without a password:

sudo mysql -u root
Enter fullscreen mode Exit fullscreen mode

6. Reset Root Password

Now, flush the privileges first. Run the following command:

sudo mysql -u root
flush privileges;
Enter fullscreen mode Exit fullscreen mode

Select the MySQL database. Run the following command:

use mysql;
Enter fullscreen mode Exit fullscreen mode

How to Reset MySQL root password in Ubuntu
And set the new password for the root user, run the following command:

ALTER USER  'root'@'localhost' IDENTIFIED BY '(YOUR NEW PASSWORD)';
Enter fullscreen mode Exit fullscreen mode

How to Reset MySQL root password in Ubuntu
At the place of (YOUR NEW PASSWORD) provide your new password. After successfully changing the MySQL root password, log out from the MySQL shell.

quit;
Enter fullscreen mode Exit fullscreen mode

How to Reset MySQL root password in Ubuntu

7. Kill All MySQL Processes and Restart MySQL Service

First, kill all the processes of MySQL before even restarting the MySQL server.

sudo killall -u mysql
Enter fullscreen mode Exit fullscreen mode

And the restart the MySQL server, run the following command:

sudo systemctl restart mysql.service
Enter fullscreen mode Exit fullscreen mode

8. Login MySQL With New Password

If all goes well, you should now be able to login to your MySQL database with a root password:

sudo mysql -u root -p
Enter fullscreen mode Exit fullscreen mode

How to Reset MySQL root password in Ubuntu
Thank you for reading this blog.

Discussion (0)