Em um servidor mysql, cometi um erro e alterei a senha do usuário errado, assim:
SET PASSWORD FOR username@'10.1.%' = PASSWORD('newpassword');
Antes de alterar a senha, usei "SHOW GRANTS FOR username@'10.1.%'" e anotei o hash da senha exibido. Como posso usar a senha com hash para redefinir a senha atual para a original? Tentei usar o mesmo comando "SET PASSWORD" com o hash como 'newpassword', mas parece que isso literalmente transformou o hash na nova senha.
Responder1
Parece que você está usando o MySQL 5.6. Aqui está o processo nessa versão:
Senha original ao criar usuário
create user username@'10.1.%' identified by 'password';
show grants for username@'10.1.%';
saída:
GRANT USAGE ON *.* TO 'username'@'10.1.%' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19'
Alterando senha
set password for username@'10.1.%' = PASSWORD('newpassword');
show grants for username@'10.1.%';
saída:
GRANT USAGE ON *.* TO 'username'@'10.1.%' IDENTIFIED BY PASSWORD '*FE4F2D624C07AAEBB979DA5C980D0250C37D8F63'
Revertendo senha
set password for username@'10.1.%' = '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19';
show grants for username@'10.1.%';
saída:
GRANT USAGE ON *.* TO 'username'@'10.1.%' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19'
Você pode verificar se está usando toda a senha com hash? Um erro que vi foi não incluir o asterisco inicial.
Responder2
Se você verificarmanual do MySQLvocê verá que pode usar o comando:
SET PASSWORD FOR username@'10.1.%' = 'hashed_password';