Forum général.général Connexion à 2 bases MySQL (3 et 4)

Posté par  .
Étiquettes : aucune
0
20
mai
2008
Bonjour,

Pour le besoins d'un projet où je dois depuis une instance apache/ php 5 (5.2.5) accèder à une base MySQL 3.23.58 (port 3307) et une base MySQL 4.1.22 (port 3306).
J'ai un comportement assez bizarre quel que soit le port spécifié sur le mysql_connect (3307, 3307, 11111, 12345, 80) il se connecte au port 3306.
Biensûr les paramètres mysql.default_port du php.ini sont décommentés et je suis en safe_mode Off.

Si vous avez la moindre idée/piste je suis preneur.

Rémi
  • # preciser le port

    Posté par  . Évalué à 0.

    il faut preciser le port de connection quand tu fais ton connect()

    si tu ne precises pas, il va (par defaut) se connecter au 3306.

    ca semble logique en plus, comment veux tu qu'il devine quel port utiliser si tu ne lui dis pas ?

    plus d'info : http://fr.php.net/mysql_connect

    resource mysql_connect ([ string $server [, string $username [, string $password [, bool $new_link [, int $client_flags ]]]]] )

    [...]

    server

    The MySQL server. It can also include a port number. e.g. "hostname:port" or a path to a local socket e.g. ":/path/to/socket" for the localhost.

    If the PHP directive mysql.default_host is undefined (default), then the default value is 'localhost:3306'. In SQL safe mode, this parameter is ignored and value 'localhost:3306' is always used.
    • [^] # Re: preciser le port

      Posté par  . Évalué à 1.

      Salut,

      On précise bien sûr le port dans le mysql_connect mais il ne le prend pas en compte.

      Merci quand même
  • # sql.safe_mode

    Posté par  . Évalué à 1.

    As-tu mis la directive sql.safe_mode à Off ou la directive safe_mode ?
    Si tu n'as pas mis sql.safe_mode à Off, tu peux essayer de le faire.
    • [^] # Re: sql.safe_mode

      Posté par  . Évalué à 1.

      Le sql.safe_mode est bien à Off :/

      En fait je pense qu'on a un problème mystique sur ce serveur :/ Sur un autre serveur j'ai pas de problème avec le même php.ini/httpd.conf et configuration MySQL ...
  • # Résolution

    Posté par  . Évalué à 1.

    Pour information on a du passer par le réseau (connexion via l'adresse IP et pas en localhost dans le mysql_connect + config MySQL ad hoc) pour résoudre le problème ... pourquoi ? Ca on ne saura jamais :/
    • [^] # Re: Résolution

      Posté par  . Évalué à 1.

      surement parce que les sockets ne sont pas sur des ports
      et que donc c'est le meme "socket" qui est configuré dans les 2 serveurs.

      le dernier lancé prenant la main
      • [^] # Re: Résolution

        Posté par  . Évalué à 1.

        Pourtant on travaillait sur 2 sockets différents (l'un s'appellant /.../mysql 3.socket et l'autre /.../mysql4.socket. Dans tous les cas en passant par le réseau c'est OK (c'est à dire sans socket via localhost).

        En tout cas c'était une bonne idée, on avait mis du temps à trouver cette piste et on était deçu de voir que c'était pas ça.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.