Hostwinds Tutorials
Search results for:
Table of Contents
If you would like to reset the password for the root user's MySQL password, this guide will help you through that process.
You will want to have the correct version before continuing with this guide and can get it using this command:
mysql --version
Before continuing with the following, you will want to know that these steps are intended to be run by the root user using su or sudo commands. Logging in as your root user is not recommended.
To change the MySQL password, you will need first to stop the MySQL service.
service mysql stop
If you know your password, you can change it using the MySQL command line with the following for the root user in this example
mysql -u root -p
set password=password('new_password');
flush privileges;
Replace the new_password above with your new password.
By running MySQL without loading any information about the user privileges, you can access the command line without using root privileges which would require a password. You can do this by not allowing the database to load the grant tables. You'll also want to skip networking to avoid any security risks.
It is important to note that using --skip-networking below is very insecure and should only be run while resetting the root user's password if you have forgotten it.
Start the MySQL command prompt using this command:
mysqld_safe --skip-grant-tables --skip-networking &
You'll now be able to access the database without using the root password.
mysqk -u root
A MySQL command prompt will appear:
MySQL prompt
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
You can now change the password and will want to remain in the MySQL command prompt.
You will first want to use the FLUSH PRIVILEGES command.
FLUSH PRIVILEGES;
Now we can actually change the root password and exit the MySQL command line by pressing CTRL + C to exit.
You can then use one of the below commands to change your password based on the version of MySQL you are using.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
Enter your new password above and replace the new_password.
Once you have received the message that the query was OK, you can Flush Privileges
FLUSH PRIVILEGES;
Now you will need to start the service.
sudo service mysql start
You can now confirm that the password reset worked by running the following command:
mysql -u root -p
Written by Hostwinds Team / April 11, 2018