MySQL is a widely used relational database management system and an important open source software. When using MySQL, we often need to use the root account to log in to MySQL. However, what should you do if you forget the password of the root account?
This article will introduce some common solutions so that you can quickly restore access to the root account.
Option 1: Use the mysqladmin command
mysqladmin is the command line tool that comes with MySQL. You can use it to change the root password. The specific operation method is as follows:
Open the terminal and enter the following command:
sudo systemctl stop mysql
This command will shut down MySQL. The reason why I shut down MySQL first is to make it easier to change the password later.
Enter the following command to enable passwordless login:
sudo mysqld_safe --skip-grant-tables &
This command will enable MySQL temporary permission, you can temporarily access the MySQL database without a password.
Enter the following command to connect to the MySQL database:
mysql -uroot
After entering this command, you will enter the command line mode.
Modify root password:
use mysql;
update user set authentication_string=password('123456') where user='root';
This command changes the root password in the database to "123456". You can also replace this password with the password you want to set.
Exit MySQL command line mode:
quit
Restart MySQL:
sudo systemctl start mysql
Log in with the modified password:
mysql -u root -p
This command will ask you to enter a new password to log in to MySQL.
Option 2: Use init script
This option requires you to have root permissions. You can use the Linux init script to restart MySQL and load the SQL script to change the root password.
The steps are as follows:
Stop the MySQL service:
sudo /etc/init.d/mysql stop
Create a file containing SQL commands:
sudo nano /var/mysql-init
This command will create a mysql-init file in the /var directory and allow you to use nano editor, enter the following:
UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE user='root';
FLUSH PRIVILEGES;
The above command will The password for root is changed to "123456".
Enable MySQL service:
sudo /etc/init.d/mysql start
When MySQL starts, it will automatically execute SQL command in the command file to change the root password.
Clear the error message:
sudo rm /var/mysql-init
If you forget the root password, use this Either of the two options will allow you to regain access to MySQL. However, option 1 is recommended because it is simpler and easier to understand and has no negative impact on the normal operation of MySQL.
Of course, to avoid forgetting passwords, you should establish a better password management strategy, such as using a password management tool to store your MySQL passwords, or changing passwords regularly to improve security.
The above is the detailed content of What should I do if I forget mysql root password on Linux?. For more information, please follow other related articles on the PHP Chinese website!