MySQL olvidó la solución de contraseña de root, aplicable a la última versión

Al usar MySQL, si olvida la contraseña de otros usuarios, puede usar el usuario root para restablecerla, pero si olvida la contraseña de root, debe usar un método especial para operar.
Puede modificar la contraseña de root modificando directamente la tabla de autorización. Los pasos se describen en detalle a continuación, tomando mysql5.7 como ejemplo.

  1. Detenga el proceso del servicio mysqld
    [root@localhost ~]# systemctl stop mysqld.service 
    [root@localhost ~]# netstat -ntpln | grep 3306  //检测mysql是否已经启动
  2. Usa mysqld combinado con skip-grant-tables para iniciar la base de datos, su función es que el usuario no use la tabla de autorización al iniciar sesión, por lo que el usuario puede iniciar sesión directamente sin usar una contraseña.
    [root@localhost ~]# mysqld --skip-grant-tables&
    [root@localhost ~]# netstat -ntpul | grep 3306  //检测mysql是否已经启动
    tcp6       0      0 :::3306                 :::*                    LISTEN      1561/mysqld 
  3. Puede iniciar sesión en mysql directamente sin usar una contraseña y usar la actualización para modificar la contraseña de root.
[root@localhost ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.17 Source distribution

mysql> update mysql.user set authentication_string=password('123abc') where user='root'; //修改root密码为123abc
Query OK, 1 row affected, 1 warning (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 1

4. Después de actualizar la base de datos y usar la actualización para cambiar la contraseña, solo se modifica en la base de datos, pero los datos en la memoria no se modifican. La función de los privilegios de descarga es extraer la información del usuario y la configuración de permisos en las tablas de privilegios y usuarios actuales de la biblioteca mysql a la memoria. Después de que se modifiquen los permisos y los datos de usuario de mysql, si desea que surta efecto directamente sin reiniciar el servicio de mysql, debe ejecutar los siguientes comandos.

mysql> flush privileges;      //刷新数据库
Query OK, 0 rows affected (0.01 sec)

5. Utilice la nueva contraseña para realizar una prueba de inicio de sesión. Un inicio de sesión exitoso indica que la modificación fue exitosa.

[root@localhost ~]# mysql -uroot -p123abc   //登录mysql
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.17 Source distribution

Tenga en cuenta aquí que al iniciar sesión, -p va seguido directamente de la contraseña de inicio de sesión, y no puede haber espacios, de lo contrario habrá errores.

Supongo que te gusta

Origin blog.csdn.net/hailangnet/article/details/90483725
Recomendado
Clasificación