Reset MySQL Root Пароль on Linux: A Step-by-Step Guide.
Losing or forgetting the MySQL root пароль can be a daunting situation for database administrators. Проте, on a Linux system, there are methods to reset the MySQL root пароль and regain access to your database. In this article, we will guide you through the process of resetting the MySQL root пароль on Linux by modifying the MySQL configuration file (my.cnf), ensuring the security and integrity of your valuable data.
1. The first step in resetting the MySQL root пароль is to stop the MySQL service to prevent any active connections. Open a terminal on your Linux system and execute the following command:
sudo systemctl stop mysql
2. Далі, you need to modify the MySQL configuration file (my.cnf) to disable the authentication process temporarily. Open the file using a text editor:
sudo nano /etc/mysql/my.cnf
Locate the [mysqld]
section in the file and add the following line below it:
skip-grant-tables
ПРИМІТКА: In case, when [mysqld]
not exist use this code:
[mysqld]
skip-grant-tables
Save the changes and exit the text editor.
3. After modifying the configuration file, you need to restart the MySQL service for the changes to take effect. Execute the following command in the terminal:
sudo systemctl restart mysql
ПРИМІТКА: The MySQL service will now start without checking the user privileges, allowing you to reset the root пароль without providing the current пароль.
4. Now that MySQL is running with the authentication process disabled, open a terminal and connect to the MySQL server using the following command:
mysql -u root
Once connected to the MySQL server, execute the following SQL statement to flush privileges:
FLUSH PRIVILEGES;
ПРИМІТКА: Without it, you will get errors on any user operations.
Once connected to the MySQL server, execute the following SQL statement to update the root пароль:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
Replace ‘new_password’ with your desired пароль. After running the query, you can exit the MySQL prompt by typing exit
або quit
.
FLUSH PRIVILEGES;
exit;
ПРИМІТКА: Don’t forget to comment code on my.cnf
#[mysqld]
#skip-grant-tables