edit:Isso só se aplica se você estiver no controle do servidor MySQL ... se você não estiver dando uma olhada em Método de hash de senha do MySQL antigo vs novo
Primeiro verifique com a consulta SQL
SHOW VARIABLES LIKE 'old_passwords'
(no cliente de linha de comando MySQL, HeidiSQL ou qualquer front-end que você quiser) se o servidor está configurado para usar o esquema de senha antigo por padrão. Se isso retornar
old_passwords,Off
você tem entradas de senha antigas no user
tabela. O servidor MySQL usará a rotina de autenticação antiga para essas contas. Você pode simplesmente definir uma nova senha para a conta e a nova rotina será usada. Você pode verificar qual rotina será usada dando uma olhada no
mysql.user
tabela (com uma conta que tenha acesso a essa tabela) SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
Isso retornará 16 para contas com senhas antigas e 41 para contas com novas senhas (e 0 para contas sem senha, você pode querer cuidar delas também).
Use as ferramentas de gerenciamento de usuários do front-end MySQL (se houver) ou
SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
FLUSH Privileges;
(substitua
User
e Host
com os valores que você obteve da consulta anterior.) Em seguida, verifique o comprimento da senha novamente. Deve ser 41 agora e seu cliente (por exemplo, mysqlnd) deve ser capaz de se conectar ao servidor. veja também a documentação do MySQL:* http://dev. mysql.com/doc/refman/5.0/en/old-client.html
* http://dev.mysql. com/doc/refman/5.0/en/password-hashing.html
* http://dev.mysql. com/doc/refman/5.0/en/set-password.html