PDA

View Full Version : Question Mysql concernant le mot de passe des users


Magi-X
15 mars 2006, 12h06
Salut tout le monde,

Cela fait un petit moment que je n'avais plus touché à mysql. Et maintenant je vois donc qu'ils sont déjà à la version 5 .

J'ai du installé apache et php (4.X) pour faire tourné une application web pour le boulot. Et la je remarqué en testant avec un script php que je n'avais pas accès à ma base mysql avec le user et pass donné. Il me disait à chaque foix :

Could not connect: Client does not support authentication protocol requested by server; consider upgrading MySQL client
ou
Invalid authorization specification, message from server: "Access denied for user 'blabla'@'localhost' (using password: YES)

En regardant sur le net j'ai trouvé le solution suivant (qui fonctionne) :

UPDATE mysql.user SET Password = OLD_PASSWORD('pass') WHERE User = 'user';
FLUH PRIVILEGES;

Alors je voulais savoir pourquoi il faut faire cela ? Me rappele pas avoir eu ces problèmes avant ?!

Merci

Matt
15 mars 2006, 13h21
Dans la version 5 de MySQL, la fonction de hash des mots de passe n'est plus la même.
Il faut donc forcer l'utilisation de l'ancienne fonction de hash pour que ça reste compatible avec les anciens clients.

Magi-X
15 mars 2006, 13h40
Dans la version 5 de MySQL, la fonction de hash des mots de passe n'est plus la même.
Il faut donc forcer l'utilisation de l'ancienne fonction de hash pour que ça reste compatible avec les anciens clients.
C'est ce que je me disais ... c'est le cas aussi avec la version 4 de MySQL.

Pourquoi il ne font pas une mise à jour de php 4.x pour que ce soit compatible ? Et avec la version 5.x de php ça fonctionne ou pas?

Matt
15 mars 2006, 14h45
PHP 5, ça fonctionne.
Mise à jour de PHP 4, je sais pas si il y'en a une.