Acceder a un server distant a travers "localhost" [MySQL] - Linux et OS Alternatifs
Marsh Posté le 07-05-2005 à 10:24:25
chez free par ex, ils te demandent de te connecter à mysql sur sql.free.fr ; pas sur localhost.
d'ailleurs, quel est l'intérêt de rediriger le port local plutôt que de demander une connexion distante ?
Marsh Posté le 07-05-2005 à 10:54:01
C'est vrai que j'y avait jamais pensé à ça ...
Sur son site php, on accède à la base avec "localhost" alors que les machines qui hebergent le web et les bases de données sont différentes.
A la rigueur dans la table user t'es peut-être pas obligé de mettre localhost, pê un 156.135.85.% peut suffire
Marsh Posté le 07-05-2005 à 14:36:30
Il y a quelques temps mon hebergeur me demandait de me connecter sur une adresse/ip specifique (comme free).
Mais depuis ils ont fait en sorte que l'on puisse se connecter en localhost. J'aimerais savoir comment ils ont fait.
Peut-etre que je suis completement a cote de la plaque et ils ont installe mysql sur tous les serveurs ... (ils ont du s'amuser pour metre les bonnes bases sur les bons serveurs).
(petit up cache).
Marsh Posté le 07-05-2005 à 14:41:10
Pareil chez le mien ... Je me demande si c'est pas une redirection dans les tables de routage de l'ordio avec mysql... mais je saurais pas trop comment m'y prendre ..
Marsh Posté le 08-05-2005 à 11:17:07
Bonjour,
Et avec un truc comme ça, ça ne marcherait pas :
GRANT ALL PRIVILEGES ON ma_base.* TO 'mon_utilisateur@IP_du_serveur'IDENTIFIED BY "mot_de_passe";
Marsh Posté le 08-05-2005 à 11:24:58
Oui mais ça serait juste une maniere de feinter mysql en attribuant des privileges a la connection distante... ce qu'il voudrait c'est que mysql n'y voie que du feu
Marsh Posté le 08-05-2005 à 11:26:07
une redirection avec iptables ?
Marsh Posté le 08-05-2005 à 11:36:37
C'est plus dans ce que j'imaginais
Marsh Posté le 08-05-2005 à 11:39:03
Bah y suffit de rediriger toute les requetes sur localhost au port MySQL vers la machine qu'on veut
Marsh Posté le 08-05-2005 à 12:37:26
A mon avis ils ont tous simplement mis en place
des serveurs MySQL en replication sur les serveurs
mutualisés de sorte a limiter les SPF.
Ou alors ils ont mis en places des proxys via iptables
ou autre logiciels.
Marsh Posté le 07-05-2005 à 02:37:18
Bonjour tout le monde,
Avant de rentrer dans le vif du sujet, une petite explication.
Si vous possedez un hebergement web (php + mysql), vous avez surement remarque que votre hebergeur vous demande de vous connecter sur "localhost" pour avoir access a votre base mysql.
Personnellement je doute que les hebergeurs installent a chaque fois mysql sur tous les serveurs. A mon avis ils possedent une machine (ou plusieurs) dedie a MySQL. Ceci pour des raisons de facilite de backup, ainsi que de configuration. Il est plus facile de patcher une seule fois mysql que plusieurs fois (bon vous me direz ils peuvent avoir des mecanismes automatises).
Enfin bref, j'aimerais realiser la meme chose. J'aimerais faire en sorte de rendre accessible mon serveur MySQL a travers "localhost". Le serveur MySQL ne se trouvant evidement pas sur la meme machine.
J'ai cherche sur google, mais je n'ai rien trouve. J'ai tente la doc de MySQL sans succes.
Je vois une "methodes" qui me permeterais de faire cela :
- "Rediriger" le port local de mysql vers le vrai serveur (soit avec un prog, soit avec mysql.socket).
Mais cela pose un autre probleme. Cela ne ferait que rediriger les infos, sur la machine ou se trouve MySQL les infos seraient vu comme venant de la machine d'ou elles proviennent reellement. Mais du coup, je ne peux pas utiliser de "localhost" dans le "host" dans la table des users etant que les donnees ne proviennent pas vraiment de "localhost".
En gros pour resumer :
1) Comment pouvoir se connecter a un mysql distant mais via "localhost".
2) Comment faire pour que le mysql distant ai l'impression que les donnees proviennent effectivement de "localhost" afin que je puisse utiliser "localhost" dans le champ "host" de la table user.
A moins que je me sois plante royalement et que les hebergeurs installent a chaque fois mysql sur tous les serveurs ...