Recover the MySQL Root Password in Linux

Step 1 - At the linux shell, stop the current mysqld process, start the mysqld_safe process with –skip-grant-tables switch and login as root (no password).

/etc/init.d/mysql stop
mysqld_safe –skip-grant-tables &
mysql -u root

Step 2 - At the mysql shell set the root password and flush privileges.

USE mysql;
UPDATE user SET password=PASSWORD("new-password-here") WHERE User=’root’;
FLUSH PRIVILEGES;
QUIT;

Step 3 - Back at the [...]

Set MySQL Root Password

To reset the MySQL root password, login to the mysql shell and run the following commands.

SET PASSWORD FOR root@localhost=PASSWORD(’RootPasswordHere’);
FLUSH PRIVILEGES;

Grant MySQL Privileges

To grant all privileges to a user from any location login to the mysql shell and run the following queries.

GRANT ALL PRIVILEGES ON *.* TO username@localhost IDENTIFIED BY ‘PasswordHere’ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO username@"%" IDENTIFIED BY ‘PasswordHere’ WITH GRANT OPTION;
FLUSH PRIVILEGES;