Restablecer la contraseña de usuario de MySQL usando una contraseña hash

Restablecer la contraseña de usuario de MySQL usando una contraseña hash

En un servidor MySQL, cometí un error y cambié la contraseña del usuario equivocado, así:

SET PASSWORD FOR username@'10.1.%' = PASSWORD('newpassword');

Antes de cambiar la contraseña, utilicé "MOSTRAR SUBVENCIONES PARA nombre de usuario@'10.1.%'" y noté el hash de la contraseña que se muestra. ¿Cómo puedo utilizar la contraseña hash para restablecer la contraseña actual a la original? Intenté usar el mismo comando "ESTABLECER CONTRASEÑA" con el hash como 'nueva contraseña' pero parece que eso literalmente convirtió el hash en la nueva contraseña.

Respuesta1

Parece que estás usando MySQL 5.6. Aquí está el proceso en esa versión:

Contraseña original al crear usuario

create user username@'10.1.%' identified by 'password';
show grants for username@'10.1.%';

producción:

GRANT USAGE ON *.* TO 'username'@'10.1.%' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19'

Cambiar contraseña

set password for username@'10.1.%' = PASSWORD('newpassword');
show grants for username@'10.1.%';

producción:

GRANT USAGE ON *.* TO 'username'@'10.1.%' IDENTIFIED BY PASSWORD '*FE4F2D624C07AAEBB979DA5C980D0250C37D8F63'

Revertir contraseña

set password for username@'10.1.%' = '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19';
show grants for username@'10.1.%';

producción:

GRANT USAGE ON *.* TO 'username'@'10.1.%' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19'

¿Puedes comprobar que estás utilizando la contraseña completa con hash? Un error que he visto es no incluir el asterisco inicial.

Respuesta2

si lo compruebasmanual de mysqlVerás que puedes usar el comando:

SET PASSWORD FOR username@'10.1.%' = 'hashed_password';

información relacionada