modifica:questo vale solo se hai il controllo del server MySQL... se non dai un'occhiata a Metodo di hash della password MySQL vecchio vs nuovo
Prima verifica con la query SQL
SHOW VARIABLES LIKE 'old_passwords'
(nel client della riga di comando MySQL, HeidiSQL
o qualsiasi front-end che ti piace) se il server è impostato per utilizzare il vecchio schema di password per impostazione predefinita. Se restituisce old_passwords,Off
ti capita di avere vecchie voci di password in user
tavolo. Il server MySQL utilizzerà la vecchia routine di autenticazione per questi account. Puoi semplicemente impostare una nuova password per l'account e verrà utilizzata la nuova routine.
Puoi controllare quale routine verrà utilizzata dando un'occhiata a mysql.user
tabella (con un account che ha accesso a quella tabella)
SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
Questo restituirà 16 per account con password precedenti e 41 per gli account con nuove password (e 0 per gli account senza password, potresti voler occuparti anche di quelle).
Utilizza gli strumenti di gestione degli utenti del front-end MySQL (se ce ne sono) oppure
SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
FLUSH Privileges;
(sostituisci User
e Host
con i valori che hai ottenuto dalla query precedente.) Quindi controlla di nuovo la lunghezza della password. Dovrebbe essere 41 ora e il tuo client (ad es. mysqlnd) dovrebbe essere in grado di connettersi al server.
vedere anche la documentazione di 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