Home  >  Article  >  Database  >  linux mysql forget root

linux mysql forget root

PHPz
PHPzOriginal
2023-05-20 14:29:08807browse

How to recover root password

When using Linux system and MySQL database, we may encounter the situation of forgetting the root password. At this time, if there is no way to retrieve the password, you can only reset the password or reinstall the system. However, these practices have certain risks, which may lead to data loss or improper operation and affect system stability. Here, we will introduce two safe, easy and feasible methods to recover MySQL root password.

Method 1: Use mysqld_safe to start MySQL

If we do not set the skip authentication method, and the MySQL installed version is 5.7.6 and above, you can start MySQL through mysqld_safe and skip Password authentication. The next steps are as follows:

1. Stop the MySQL service.

Use the following command to stop the MySQL service:

systemctl stop mysql

2. Use mysqld_safe to start MySQL.

Use the following command to start mysqld_safe and skip password verification:

mysqld_safe --skip-grant-tables &

3. Verify that MySQL has been started.

Use the following command to verify that mysqld_safe has started:

ps -ef | grep mysql

If it has started, the output will be as follows:

root 3810 1 0 09:52 pts/0 00:00:00 mysqld_safe --skip-grant-tables
mysql 3962 3810 0 09:52 pts/0 00:00:00 /usr/sbin/mysqld --basedir=/usr - -datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-grant-tables --pid-file=/run/mysqld/mysqld.pid - -socket=/var/run/mysqld/mysqld.sock --port=3306

Among them, "--skip-grant-tables" is the command to skip password authentication.

4. Log in to MySQL and change the password.

Use the following command to log in to MySQL:

mysql -u root

If the following prompt appears:

ERROR 1045 (28000): Access denied for user ' root'@'localhost' (using password: NO)

means skipping authentication successfully. See the error code meaning for details.

Use the following command to change the password:

mysql> update mysql.user set authentication_string=password('new_password') where User='root' and Host='localhost';
mysql> ; flush privileges;
mysql> quit

When changing the password, you need to replace "new_password" with the new password you want.

5. Stop mysqld_safe.

Use the following command to stop mysqld_safe:

systemctl stop mysql

6. Log in to MySQL using the new password.

Use the following command to log in to MySQL:

mysql -u root -p

When the following prompt appears, the modification is successful:

Enter password: (Enter the new password to log in)

Method 2: Use the mysql_config_editor tool

If we have the mysql_config_editor tool, we can use this tool to change the password. mysql_config_editor is a new command line utility in MySQL 5.6 and above. Use mysql_config_editor to manage MySQL credential files and groups, as well as encrypt and decrypt credential information. The following are the specific steps:

1. Start mysql_config_editor.

Use the following command to start mysql_config_editor:

mysql_config_editor set --login-path=local --user=root --password

The "local" here refers to this The name of the voucher group can be changed according to your own preferences.

2. Enter the new password.

After executing the previous command, the terminal will wait for the password to be entered. Just enter your new password.

3. Verify whether the new password is valid.

Use the following command to verify whether the password is successfully changed:

mysql --login-path=local -e "select user,host from mysql.user;"

If possible If the user and host information is displayed normally, the modification is successful.

Summary

The above are two methods to recover the MySQL root password. Through these two methods, we can solve the problem of lost MySQL root password simply and quickly.

It should be noted that after recovering the password, for the sake of system security, we need to change the root password and perform enhanced settings. At the same time, we also need to avoid security risks such as simple passwords and reused passwords. In this way, the integrity and security of our data and systems are ensured.

The above is the detailed content of linux mysql forget root. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn