Aller au contenu

Sujets conseillés

Posté

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 ?

Posté

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 ;)

Posté

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)

Posté

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.

Posté (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é par furious Gontran
Posté

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 :lol: )

Posté (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é par furious Gontran
Posté (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é par Anonymus
Posté

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.

Posté (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é par furious Gontran
Posté

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 ;)

Posté (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é par furious Gontran
Posté

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 :lol:

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 <_<

Posté

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

Posté

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.

Posté (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é par furious Gontran

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...