Le versioni 4.1 e superiori di mySQL usano un protocollo di autenticazione basato su un algoritmo di hashing della password che risulta essere incompatibile con le vecchie versioni dei client.
Se dopo aver eseguito l’upgrade del server ad una versione >= 4.1 si prova a connettersi allo stesso tramite un vecchio client il processo di autenticazione fallirà producendo il seguente messaggio d’errore:
codice:
shell> mysql
Client does not support authentication protocol requested by server; consider upgrading MySQL client
Per risolvere questo tipo di problema si possono usare le seguenti procedure:

Eseguire l’upgrade di tutti i client per usare la nuova libreria 4.1.1 o superiore;

se non è possibile eseguire l’upgrade dei client usare la funzione OLD_PASSWORD():
codice:
mysql> SET PASSWORD FOR
    -> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
o alternativamente:
codice:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
    -> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;
avviare il server mysqld con l’opzione "–old-passwords".


nota: l’estensione "mysql" di php non supporta il nuovo protocollo di autenticazione di mySQL >= 4.1. Se si desidera continuare ad usare php con l’estensione "mysql" è necessario adottare una delle procedure descritte precedentemente.
La nuova estensione "mysqli" invece è pienamente compatibile con il nuovo algoritmo di hashing; non risulta quindi necessario nessun tipo di intervento sulle password.





pagina di riferimento:
http://dev.mysql.com/doc/mysql/en/old-client.html

maggiori info sul nuovo algoritmo di hashing di mySQL:
http://dev.mysql.com/doc/mysql/en/password-hashing.html

info su mysqli:
http://it2.php.net/mysqli