[Résolu] -> [mysql] Localhost non reconnu pour un domaine

Bonjour,

J’ai un problème que je n’arrive pas à cerner… J’ai installé plusieurs sites sur un dédié et pour l’un d’entre eux mysql ne fonctionne pas… Le script peut se connecter à la base de donnée uniquement via 127.0.0.1 mais pas par localhost. De plus mysql ne reconnait pas les identifiants de connexion.

Aucune trace du problème dans les logs, mon /var/log/mysqlerr reste désespérement vide et comme je suis loin de maitriser Linux je suis à court d’idées…

Pourriez-vous m’aider s’il vous plait ?

Merci.

Cordialement, Squal.

Salut,
Il y a quoi dans le fichier /etc/hosts ?
C’est un CMS qui doit se connecter à la base ? Si oui lequel ?
As-tu essayé une interrogation de mysql en ligne de commande ?

Bonjour lol, merci de m’aider.

Voici ce que donne “cat /etc/hosts”

[quote]

Do not remove the following line, or various programs

that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost domaine2.com www
xx.xx.xxx.xxx domaine2.com ssdomaine2.domaine1.com ssdomaine2 ssdomaine3.domaine1.com ssdomaine3

The following lines are desirable for IPv6 capable hosts

#(added automatically by netbase upgrade)
::1 ip6-localhost ip6-loopback
feo0::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts[/quote]

En ligne de commande je peux me connecter sans probleme avec les identifiants de la base de données que j’utilise dans mon script.
Par contre, les identifiants qui fonctionnent sans problème sur domaine1 ne fonctionnant par sur domaine2…
De plus j’utilise ce script (script écrit par mes soins, utilisant pdo) sur domaine1 et il fonctionne parfait mais sur domaine2 ça ne fonctionne pas.

Merci

[size=150]Edition: [/size]
Après modification du /etc/hosts comme suis:

[quote]

Do not remove the following line, or various programs

that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost
127.0.0.1 domaine1.com www
127.0.0.1 ssdomaine1.domaine1.com ssdomaine1
127.0.0.1 ssdomaine2.domaine1.com ssdomaine2
127.0.0.1 ssdomaine3.domaine1.com ssdomaine3
127.0.0.1 domaine2.com www
xx.xx.xxx.xxx domaine2.com ssdomaine2.domaine1.com ssdomaine3.domaine1.com

The following lines are desirable for IPv6 capable hosts

#(added automatically by netbase upgrade)
::1 ip6-localhost ip6-loopback
feo0::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts[/quote]

Le problème est encore là.

Vérifie les privilèges de ton utilisateur au niveau du champs host.

Bonjour Niloo, merci également à toi d’essayer de m’aider.

Passant principalement par phpmyadmin je ne sais pas si je vais bien ressortir l’information que tu me demandes.
J’ai été la pêcher dans phpmyadmin > privilèges dans la colonne client, ce qui en ressort: localhost

Je suppose que le problème ne vient donc pas de là mais j’ai l’impression qu’il doit venir du paramètrage incertain de mon /etc/hosts, aurais-tu la même impression que moi ?

Par contre j’ai été bête: je n’ai pas pensé à vous communiquer le message d’erreur mysql veuillez m’en excuser:

Petite précision supplémentaire: j’ai créer la base l’utilisateur et la base de donnée directement depuis phpmyadmin avec accès local.

ps: entre temps j’ai modifié mon message précédent pour vous communiquer la nouvelle écriture dudis fichier.

Merci !

Ça change tout, donne les droits d’accès à ton utilisateur depuis localhost. Il ne les a pas!

Bonjour Fran.b, merci de m’aider aussi !

J’ai exécuter ladite commande en console, je n’ai pas eu de messages d’erreurs mais malheureusement ça n’a rien changé…
J’ai installé la dernière version de phpmyadmin à partir des sources,mais n’ayant pas trouvé de script d’installation dedans je me suis dis que l’ancienne base de données “phpmyadmin” serait compatible. Le problème pourrais venir de là tu crois ?

Je n’ose trop rien touché vu que j’ai déjà pas mal galeré à installer le serveur j’ai peur d’y mettre le bordel…

Dès que je met localhost j’ai cette erreur:

je suis contraint, pour y accèder, de passer par 127.0.0.1, il y a donc deux problèmes en un ?

Par contre j’ai effacé la base de données de domaine1, l’ai recréée (en suivant la même méthode que pour la bdd de domaine2) puis exécuter un script: aucun problème…

Encore merci à vous !

Ça n’est pas en console que tu dois l’exécuter mais sur ton serveur mysql. Tu te logues sur le serveur, tu tapes
$ mysql -u root -p
[là il te demande le mot de passe]
puis tu as un prompt
mysql>

Tu tapes alors

GRANT ALL ON tabasededonnees.* to 'domaine2 '@‘localhost’ IDENTIFIED by ‘motdepasse’;

puis

flush privileges;

et tu quittes mysql (quit;)

C’est malheureusement ce que j’ai fais (je l’avais précisé :p), en console et sans oublier le FLUSH PRIVILEGES;
Mais aucun résultat.

Je viens de m’apercevoir que tu as un blanc dans 'domaine2 '@‘localhost’ à la suite de domaine2, ça n’est sans doute pas normal. Vérifie ce point

Bonjour Fran.b,

Lors de la saisie je l’ai vu et l’avais effacé, donc l’espace n’y était pas lors de la saisie :wink:
En tout cas merci de m’aider. Ce problème semble apparement peu courant, y a-t-il quelque chose que je puisse vous communiquer afin de vous aider à localiser le problème ?

Merci !

Essaye de connecter en local ton utilisateur:

mysql -u domain2 -p [là tu tapes le mot de passe, si ça passe (ce dont je doute,)] mysql> use tabasededonnées; mysql> select * from untableaupif; mysql> quit;

Merci de perséverer Fran.b, j’ai pas mal cherché ce week end mais pas trouvé de solutions.

Toutes les commandes que tu m’as demandé de saisir passent sans problème.

Bonjour,

Je suis un boulet, un gros et bien lourd !
J’ai trouvé mon erreur, désolé de ne pas avoir fait plus attention à tes recommandations… L’erreur est simple…
Mes identifiants sont enregistrés dans un fichier texte, tu avais raison au niveau de l’espace: il m’a suffit de rajouter un trim lors de l’appel de la variable et maintenant ça roule.

Donc le message

est lié à une erreur dans les identifiants de connexion.

Encore désolé et merci pour votre aide.