Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Installation
Installation Forum d'entraide sur les problèmes liés à l'installation de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/04/2005, 19h12   #1
Membre du Club
 
Inscription : juin 2004
Messages : 257
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 257
Points : 64
Points : 64
Par défaut passage de Mysql 3.23 a 4.1 avec php4

Bonjour,

je voudrais passé à la version 4.1 de mysql avec des sites développé en php4.
J'ai désinstallé ma version 3.23 de mysql et installer la version 4.1.11 sous windows.
lors de la configuration de l'installation, j'ai donné comme mot de passe "toto".
Lorsque je teste le server mysql avec les lignes de commande, il n'y a pas de problème.

Par contre, lorsque je passe par une connexion via un script php les choses se gatent.

J'ai repris en de mes sites développer en php4 avec mysql 3.23, je lui est passeé comme variable de connection le user et password du nouveau server mysql c'est a dire :
Code :
1
2
3
4
5
 
define ("NOM","root");
define ("PASSE","toto");
define ("SERVEUR","localhost");
define ("BASE","nom_du_site");
et là j'obtiens un message d'erreur :
#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
J'ai alors tester une nouvelle installation de phpMyAdmin avec le même résultat.

J'ai vu dans la doc que ceci correspondait au changement de gestion de des mots de passe avec 4.1. Par contre ce que je ne comprend pas c'est pourquoi j'obtiens ce type d'erreur alors que j'utilise le user root qui est générer par défaut et qui devrait correspondre à la gestion des mots de passe de la version 4.1

Lorsque je consulte le phpinfo, je remarque qu'il prend en compte l'ancienne version de mysql et non la nouvelle.
Code :
1
2
3
4
5
 
MySQL Support enabled 
Active Persistent Links  0  
Active Links  0  
Client API version  3.23.49
Est ce que le message d'erreur vient de là ? Si oui, comment je dois faire pour changer cela?

Autre question, j'ai vu dans la doc que mysql 4.1 fonctionne avec mysqli comment recupérer cette dll et php4 fonctionne t'il avec mysqli?

Merci de m'aider a résoudre mon problème
epeichette
epeichette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2005, 19h28   #2
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Bonjour,

: http://www.developpez.net/forums/viewtopic.php?t=258567&highlight=client+does+support+authentication+protocol
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2005, 19h40   #3
Membre du Club
 
Inscription : juin 2004
Messages : 257
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 257
Points : 64
Points : 64
j'avais lu ce sujet avant de poser ma question et j'ai mi old_password dans le my.ini, mais ça ne marche pas mieux. En plus l'identifant que j'utilise à un mot de passe version mysql 4.1 et je n'ai pas d'identifiant avex la version 3.23 puisque j'ai fait une nouvelle install de mysql et non une mise a jour. Mon problème reste donc entier.

Est ce que cela veut dire que je ne peux pas faire tournée mysql4.1 avec des scripts php4 ?
epeichette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2005, 20h35   #4
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Citation:
Envoyé par epeichette
Est ce que cela veut dire que je ne peux pas faire tournée mysql4.1 avec des scripts php4 ?
Si, en convertissant les mots de passe avec la fonction OLD_PASSWORD(). L'option --old-passwords du serveur ne fonctionne que pour les nouveaux users créés par la suite.
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2005, 21h33   #5
Membre du Club
 
Inscription : juin 2004
Messages : 257
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 257
Points : 64
Points : 64
Cette fois j'ai compris et ça marche

donc j'ai creer avec les commandes mysql un nouveau user, puis j'ai changer le cryptage de son mot de passe pour le mettre dans l'ancien format . Ce qui donne :
Code :
1
2
 
mysql> GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' IDENTIFIED BY 'motdepasse' WITH GRANT OPTION;
puis
Code :
1
2
3
 
mysql> SET PASSWORD FOR 
-> 'newuser'@'localhost'  = OLD_PASSWORD('motdepasse' );
ensuite, j'ai mi rajouter dans my.ini sous [mysld]
old-passwords
A ne pas oublier REDEMARER LE SERVICE mysql
et voila je peux creer et/ou reprendre mes anciens user ça marche .

Par contre, une chose que je ne comprend pas c'est pourquoi l'API mysql de mon php info est toujours sur la version 3.23, mais bon si ça marche c'est l'essentiel

merci bien de tes indication complémentaire Maximilian
epeichette est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h06.


 
 
 
 
Partenaires

Hébergement Web