Reset a MySQL root password

Before getting started, we suggest you Learn Linux Basics and follow these precautions.

Updated: 2019-03-09
Created: 2009-12-06

So you've managed to misplace your root login for a MySQL database? Not to worry, the following procedure will guide you though resetting the root password on a MySQL database in 7 easy steps.

The MySQL root password is not the same as the system root password. If you have never set a root password for MySQL server, most likely it empty as MySQL does not require a password for database connections. However, it is HIGHLY recommended you set a password.

Step 1

Login as root, then stop the MySQL server daemon.

/etc/init.d/mysql stop

Step 2

Start the MySQL server without a password.

mysqld_safe --skip-grant-tables &

Step 3

Connect to the MySQL server using the MySQL client.

mysql -u root

Step 4

Set a new MySQL root user password by entering the following four commands. Be sure to change "NEW_ROOT_PASSWORD" to your desired password.

mysql> use mysql;
mysql> update user set password=PASSWORD("NEW_ROOT_PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit

Step 5

Stop the MySQL server.

/etc/init.d/mysql stop

Step 6

Now start the MySQL server.

/etc/init.d/mysql start

Step 7

Test to make sure your new MySQL root password works.

mysql -u root -p