furious Gontran Posté 8 Septembre 2004 Posté 8 Septembre 2004 Suite de mon probleme d'hier soir, ou comment suivre les tribulations d'un newbie en MySQL... J'essaye de me connecter et j'obtiens ça: Warning: mysql_pconnect(): Accès refusé pour l'utilisateur: '202_AT_localhost' (mot de passe: OUI) in d:\easyphp1-7\www\scripts\Connexion.php on line 5 Voila comment je fais: Dans un fichier PHP je determine mes variables de connexion: define ('NOM',"202"); define ('PASSE',"2554"); define ('SERVEUR',"localhost"); define ('BASE',"mugrates"); Je me connecte a l'aide d'un fonction: $connexion = connexion (NOM, PASSE, BASE, SERVEUR); cette fonction est: function connexion ($pNom, $pMotPasse, $pBase, $pServeur) { //connexion serveur $Connexion=mysql_pconnect ($pServeur, $pNom, $pMotPasse); if (!$Connexion) { echo "connexion au serveur $pServeur impossible/n"; exit; } //connexion base if (!mysql_select_db ($pBase, $Connexion)) { echo "connexion a la base impossible/n"; echo "<b>Message MySQL:</b>" .mysql_error($connexion); exit; } return $connexion; } Mon fichier config.inc.php contient: $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['port'] = ''; $cfg['Servers'][$i]['socket'] = ''; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['compress'] = FALSE; $cfg['Servers'][$i]['controluser'] = ''; $cfg['Servers'][$i]['controlpass'] = ''; $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = '202'; $cfg['Servers'][$i]['password'] = '2554'; Ma base user contient: un utilisateur 202, avec un mot de passe = 2554 le tout rentré par le menu privilege, l'hote est localhost... l'utilisateur possede tous les privileges. Alors la j'ais tout essayé, epluché la doc phpmyadmin, parcourus les tutoriaux du net mais ne trouve pas: AU SECOURS !!!! N'existe t'il pas quelque pars un tutorial configurez et connectez vous a une base mysql pour les nuls ?
Anonymus Posté 8 Septembre 2004 Posté 8 Septembre 2004 Bonjour, essaie ceci en remplacant user par le nom d'utilisateur, et password par le mot de pass.: <?php $link = mysql_connect("localhost", "user", "password") or die("Impossible de se connecter : " . mysql_error()); print ("Connexion réussie."); mysql_close($link); echo $link;?> et donnes nous l'erreur générée, ou la ressource s'il y en a une
furious Gontran Posté 8 Septembre 2004 Auteur Posté 8 Septembre 2004 Je crois qu'il s'agit de la suite de mon probleme d'hier. Donc je change mes privileges, j'ajoute un user avec tout privilege nom: 202 localhost pass: 2554 J'exporte la table Ensuite je change le config.inc.php comme indiqué ci dessus. Apres je lance ton code inclu dans une page html. Celle ci reste blanche Lorsque jerelance phhpmyadmin il me dis: phpMyAdmin a tenté de se connecter au serveur MySQL, et le serveur a rejeté la connexion. Veuillez vérifier les valeurs de "host", "username" et "password" dans config.inc.php et vous assurer qu'elles correspondent aux informations fournies par l'administrateur du serveur MySQL. Erreur MySQL a répondu: #1045 - Accès refusé pour l'utilisateur: '202_AT_localhost' (mot de passe: OUI)
petit-ourson Posté 8 Septembre 2004 Posté 8 Septembre 2004 tu arrives a te connecter via la console ? Ca semble un probleme de droit plus qu'un probleme de script Regarde si avec un mysql -u 202 -p 2554 dans une fenêtre 'dos', tu peux te connecter a mysql.
furious Gontran Posté 8 Septembre 2004 Auteur Posté 8 Septembre 2004 (modifié) Ma fenetre dos medis que mysql n'est pas un programme reconnue ni interne ni externe et mon phpmyadmin est a nouveau bloqué. Je pense que caviens de ma facon de faire mes privileges car ca fais toujours planter mon phpmyadmin.... Par contre, j'ais beau chercher je ne trouve pas l'erreur, ni d'ailleurs de texte/tuto pouvant me l'indiquer... C'est super chiant comme probleme pleins de mes scripts sont prets mais je peux rien tester.... La seule chose se rapprochant de mon probleme dans le FAQ c'est ca: [2.2] phpMyAdmin ne peut pas se connecter à MySQL. Qu'est-ce qui ne va pas? Il y a soit une erreur dans votre configuration PHP, soit votre utilisateur/mot de passe. Essayez de faire un petit script qui utilise mysql_connect et voyez s'il fonctionne. Si ce n'est pas le cas, il se peut que vous n'ayez pas compilé la gestion de MySQL dans PHP. ... Utilisant easyphp...je pense que c'est le premier probleme qui est le bon... Modifié 8 Septembre 2004 par furious Gontran
petit-ourson Posté 8 Septembre 2004 Posté 8 Septembre 2004 il faut se trouver dans le bon repertoire ou créer un path pour pouvoir lancer le mysql.exe
Anonymus Posté 8 Septembre 2004 Posté 8 Septembre 2004 Phpmyadmin peut avoir aussi des problèmes. Essaies avec mysqlfront, dont tu trouveras le site ici : http://www.mysqlfront.de/ Dans quel répertoire as tu créé ton mysql ? Normalement, pour éviter les plantages, il faut l'installer dans : c:/mysql Sinon, il faut créer un fichier nommé : c:\MY.CNF ou \Windows\my.ini As tu ces fichiers ? (perso, j'ai les 3 )
petit-ourson Posté 8 Septembre 2004 Posté 8 Septembre 2004 visiblement ca ne marche pas egalement avec ses scripts perso en php.
furious Gontran Posté 8 Septembre 2004 Auteur Posté 8 Septembre 2004 (modifié) C'est vrai que j'ais installé juste easyphp.... Bon... Je n'ais effectivement pas my.cnf... my.ini est dans winnt et mon mysql se trouve sur mon disque de travail: D:\EasyPHP1-7\mysql Mon systeme est sur c: J'aimerais comprendre aussi pourkoi je ne peux pas changer l'utilisateur et le code sans que ca plante... Modifié 8 Septembre 2004 par furious Gontran
petit-ourson Posté 8 Septembre 2004 Posté 8 Septembre 2004 Donc si tu fais : D:\EasyPHP1-7\bin\mysql -u 202 -p tu obtients qulques choses ?
furious Gontran Posté 8 Septembre 2004 Auteur Posté 8 Septembre 2004 (modifié) ben non, rien... En fait si je change root en 202 et que j'ajoute un motde passe ca plante... si je le fais dans config.inc.php, ca plante et je peux plus lancer phpmyadmin... Et le contraire plante aussi... En gros la je sais reellement plus quoi faire...je vais bien devoir ajouter un mot de passe pour mettre mon site sur l'hebergeur...donc c'est la merde. On m'as conseillé de creer un deuxieme compte devant interroger la base dictionnaire de mysql, et de le referncer dans controluser et controlpass du config.inc... Ca n'as pas eu l'air de marcher plus je vais essayer un foisencore.... ------------------------------ Bon, je peux me connecter avec root sans password.... Mais des que je lui met un password, ca plante, pourtant j'ajoute un user root - localhost - password et je configure mon config.inc en rajoutant le pass a la ligne correspondante.... Modifié 8 Septembre 2004 par Anonymus
Anonymus Posté 8 Septembre 2004 Posté 8 Septembre 2004 Attends... Je crois qu'on se trompe de problème. Ton script config.inc.php te sert à configurer le programme, et pas à configurer la base de données. Ce n'est pas parce que tu as modifié ton config.inc.php que ca modifiera quoi que ce soit dans ton mysql au niveau des droits. Mysql demande des droits, qu'il faut lui fournir. Il faut que le fichier config.inc.php ait ces droits, et nul autre. Si ca marche avec 'root' et sans 'pass', alors ca suffit pour faire marcher ton script. Le problème que tu rencontreras avec ton hébergeur ? Simple. Tu cherches l'adresse IP de ton hébergeur, et une fois que tu l'as, tu fais un petit script qui dira : if (IP_HEBERGEUR){ config mysql pour hebergeur } else{ config mysql pour poste local } tout simplement.
furious Gontran Posté 8 Septembre 2004 Auteur Posté 8 Septembre 2004 (modifié) Oui, je comprend bien cela.... merci de ta patience... La question est pourquoi ne puis je pas mettre de password au root dans mes privileges et configurer mon config pour qu'il l'accepte ??? De plus j'ais dans mes scripts la gestion de plusieurs utilisateurs...alors la c'est mal barré si mes connections avec autre chose que root sans pass ne fonctionnent pas... Quand tu lis les foras et autres tuto...et meme la doc de myadmin ca parais d'une simplicité enfantine et a la portée de n'importe kel mongolien... Sauf moi, evidement Modifié 8 Septembre 2004 par furious Gontran
Anonymus Posté 8 Septembre 2004 Posté 8 Septembre 2004 Il y a des programmes servant justement aux droits d'autorisation, et autres. Je ne sais pas s'ils sont en standard avec mysql, mais je les aient dans le même répertoire. Jettes un oeil, dans le répertoire Mysql, pour voir si tu n'as pas les programmes suivants : mysql>bin>MysqlManager.exe mysql>bin>winmysqladmin.exe et essaies de tripatouiller tout ca
furious Gontran Posté 9 Septembre 2004 Auteur Posté 9 Septembre 2004 (modifié) Tiens, je n'ais pas MysqlManager.exe ni winmysqladmin.exe Par contre j'ais un mysqladmin.exe et un mysqldump.exe ainsi que mysql et mysqld... bon...derniere grosse question de newbie, je crois que j'ais totalement confondu certaines notions de base. Un de mes bouquin donne un moyen de configurer un compte utilisateur sous unix en bidouillant le fichier my.cnf Je n'ais d'ailleurs pas ce fichier dans mon c: je n'ais que les fichiers my_huge.cnf my_large.cnf dans easyphp1-7/mysql/ Est ce que je dois les editer moi meme? Au lieu de m'acharner sur le config.inc.php de myadmin, il ne fallait pas que je m'interesse a celui la ? Ces commande marcheront sous windows ? J'ais l'impression d'avoir totalement melangé la config de mysqld et celle de myadmin....ou un truc du genre... La lecture d'Ikkyu m'as heureusement rendu tres zen... Le moine defriche son coeur comme l'informaticien defriche son processeur... Modifié 9 Septembre 2004 par furious Gontran
Anonymus Posté 9 Septembre 2004 Posté 9 Septembre 2004 Dans ton my.cnf, tu dois avoir à peu près ceci : [mysqld]basedir=E:/installation-path/datadir=E:/data-path/ Avec les bons arguments, les bonnes valeurs Pour mysqladmin, tu peux t'en servir à partir de la fenetre Dos. Il donne lui meme les explications, les aides nécessaires. Essaies de voir si tu peux changer tes mots de passe avec
Dan Posté 9 Septembre 2004 Posté 9 Septembre 2004 Une question toutefois ... Es-tu certain que le service mysqld est démarré ? Sinon, comme manifestement tu as des problèmes d'installation de base, je te suggère de désinstaller EasyPhp et d'installer Wampserver à la place. Tu auras tout à y gagner http://www.wampserver.com Dan
petit-ourson Posté 9 Septembre 2004 Posté 9 Septembre 2004 Si le serveur etait pas démarré, je ne pense pas qu'on lui retournerait l'erreur 1045. L'ereur provient d'un probleme de droit mysql et non un pb de php/phpmyadmin.
furious Gontran Posté 9 Septembre 2004 Auteur Posté 9 Septembre 2004 (modifié) Je cherche actuellement du coté des fichiers de configuration, sans grand resultat d'ailleurs.. mysqld est bien demarré puisque je peux m'y connecter avec root sans mot de passe. Bon, je vais utiliser Wamp qui effectivement est bien plus complet... Je crois avoir trouvé une piste Mais je vais pas crier victoire trop tot non plus, je vous tiens au courant. Merci encore de votre extreme patience, c'est du d'etre un autodidacte en prog. Modifié 9 Septembre 2004 par furious Gontran
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant