Home >Database >Mysql Tutorial >Solution to MySQL forgotten password: login without password and reset root password
What should I do if I forget my MySQL password? The following article will introduce to you how to log in to MySQL without a password and then reset the root password. I hope it will be helpful to you.
#When taking over a project, it will be a headache if the previous person in charge did not organize the project documents, account passwords. . For example, when you want to open a MySQL database, enter:
mysql -u root -p
When you press Enter and want to enter the password, you find that the password is wrong! !
# [MySQL for Linux error ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)]
Immediately I have the urge to smash the keyboard~ But don’t panic, the most powerful thing about programmers is to find solutions online haha; [Related recommendations: mysql video tutorial]
Let’s talk to you below Share "MySQL Forgot Password Solution"
1. Find the location of the my.cnf
configuration file
My.ini is modified under windows. The main discussion here is the specific operation of Linux.
Linux system uses whereis to easily find the location of the file:
$ whereis my $ my:/etc/my.cnf
2. Modify my.cnf
If you are a root user, directly vim /etc/my.cnf
(Note: My.ini is modified under Windows)
If you are an ordinary user, sudo vim /etc/my.cnf
Enter the vim editor to edit After that, find [mysqld], press the i key on the keyboard to enter the edit mode, and add skip-grant-tables
to any line after [mysqld] to skip the password verification process:
Press ESC to exit editing, type :wq, and press Enter to save and exit.
3. Restart the mysqld service
$ sudo /etc/init.d/mysqld restart
Ordinary users add sudo at the beginning of this command, and the root user no thanks.
4. Enter MySQL without password
<br/>
If Entering password appears, ignore it and press Enter to enter the MySQL database.
5. Modify the root password
After entering the MySQL database, we can update the root of the "user" table in the "mysql" database The recorded password is
mysql > use mysql; mysql > update user set password=password('YOUR_NEW_PASSWORD') where user='root'; mysql > flush privileges;
Step analysis:
use mysql;
Enter the database named "mysql",
Then use the update statement to update the password.
After updating the password, use flush privileges;
to refresh the permissions.
Note: The password() function is an encryption function used for password storage. The encryption process of this function is irreversible! Therefore, unless a large amount of data is used for comparison, there is no way to use the inverse function to check the old password. You can only use this function to update the password. YOUR_NEW_PASSWORD is the new password you set.
After setting the new password, Ctrl D exit the MySQL database.
6. Reconfigure <span style="font-size: 18px;">my.cnf</span>
File
Open my.cnf with vim again, delete the skip-grant-tables just now or add a # comment in front, save and exit.
7. Restart the mysqld service
$ sudo /etc/init.d/mysqld restart
8. Enter MySQL with a new password
$ mysql -u root -p
For more programming related knowledge, please visit: Programming Video! !
The above is the detailed content of Solution to MySQL forgotten password: login without password and reset root password. For more information, please follow other related articles on the PHP Chinese website!