MySQL 4.1 utilise un protocole d'identification basé sur un algorithme de hashage, qui est incompatible avec celui des anciens clients. Si vous passez d'une ancienne version en version 4.1, et que vous essayez de vous connecter au serveur avec un vieux client, vous allez rencontrer ce message d'erreur :
shell> mysql
Client does not support authentication protocol requested
by server; consider upgrading MySQL client
Pour résoudre ce problème, vous devez :
Passer tous les programmes clients en version 4.1.1, ou plus récent.
Utiliser un compte qui a un ancien mot de passe, lorsque vous vous connectez avec un client pre-4.1.
Remettre un mot de passe ancien format pour les clients pre-4.1 :
Ceci est fait avec la commande SET
PASSWORD
et la fonction
OLD_PASSWORD()
:
mysql>SET PASSWORD FOR
->'some_user'@'some_host' = OLD_PASSWORD('newpwd');
Alternativement, utilisez UPDATE
et
FLUSH PRIVILEGES
:
mysql>UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
->WHERE Host = 'some_host' AND User = 'some_user';
mysql>FLUSH PRIVILEGES;
Dire au serveur qu'il doit utiliser l'ancien algorithme de hashage :
Démarrez mysqld
avec
--old-passwords
.
Donnez un mot de passe à tous les utilisateurs qui ont un hash long de mot de passe. Vous pouvez les trouver comme ceci :
SELECT * FROM mysql.user WHERE LENGTH(password) > 16;
Pour plus d'information sur l'identification et le hashage, voyez Section 5.5.9, « Hashage de mots de passe en MySQL 4.1 ».
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.