MySQL hashing de senha

Sempre que você atualizar sua instalação MySQL, certifique-se de atualizar qualquer cliente que o utiliza.

Em alguns casos, os clientes que usam uma versão anterior a 4.1 terá um problema de autenticação no banco de dados MySQL, se este tem uma versão 4.1 post.

O truque é que, depois de 4,1 (ou seja, 4,11 e acima), MySQL mudou a forma como ele armazena as senhas na tabela user no banco de dados do sistema mysql.
Hashes de senha são agora 41 bytes em vez do jovem de 16 bytes.

Assim, por exemplo, se o servidor MySQL é de 5,0, enquanto sua biblioteca php-mysql é 4.1, suas aplicações web irão falhar ao se conectar ao banco de dados. Como tal, é recomendável que você atualize o cliente.

Em qualquer caso, o MySQL oferece uma maneira de mudar a parte traseira de hash para o formato antigo. Para o bem do argumento, suponha que o usuário em questão é John, e você quer ser capaz de se conectar usando manequim senha. Neste caso, se conectar ao servidor MySQL a partir do prompt (SSH e use 'mysql-u root-p mysql' no linux, ou vá para o diretório do Windows mysql / bin e executar a mesma consulta), em seguida, emitir as seguintes consultas:

usuário de atualização do conjunto Password = OLD_PASSWORD ("dummy"), onde User = 'João';
lave privilégios;

a função OLD_PASSWORD () irá gerar o jovem de 16 bytes hash. A primeira consulta irá eventualmente atualizar a senha do usuário para usar esta hash. A segunda consulta é necessária para o serviço MySQL para reler os privilégios de usuário nova.

PS: se a sua senha de root não está funcionando, se referem também ao guia sobre redefini-lo .

Alternativamente, se o seu banco de dados tem muitos usuários e você não mantê-las, você pode usar a seguinte consulta e ela retornará nomes de usuários que estão usando o novo hash

select distinct (Usuário) de usuário, onde LENGTH (Password) = 41!;

Deixe um comentário

O seu comentário