Forum Linux.débutant Config Mysql Client pour base distante sous RedHat ES3...

Posté par  .
Étiquettes : aucune
0
29
juin
2006
Bonjour a tous,
Voila mon pb,
je debute sous linux
j'ai un serveur d'appli tomcat, et je voudrait via un script ( php ou ksh) attaquer une base mysql sur un autre serveur (W2K désol..)
a priori sou ma distrib j'ai un rpm de mysql,
[root@pecom01 etc]# rpm -qa |grep mysql
mysql-3.23.58-2.3
mod_auth_mysql-20030510-1.ent
php-mysql-4.3.2-18.ent
j'ai commencer un bout de code php :

<?php
echo "pouet";
$a="12345678";
echo "test".$a."\r\n";

// Paramètres persos
$host = "181.123.X.X"; // voir hébergeur
$user = "root"; // vide ou "root" en local
$pass = "root"; // vide en local
$bdd = "util_ecom"; // nom de la BD
// connexion
@mysql_connect($host,$user,$pass)
or die("Impossible de se connecter AU SERVEUR!!!\r\n");
@mysql_select_db("$bdd")
or die("Impossible de se connecter A LA BDD!!!\r\n");
[...]
?>

mais impossible de se connecter au serveur ...

faut il le desinstaller le rpm actuel et le remplacer par un client
et comment faire ???

merci de votre aide ...

@+
  • # parametrage...

    Posté par  . Évalué à 2.

    ton code est "bon"
    sur le principe.

    dans les faits, tu essaies de te connecter au serveur 181.123.X.X avec le login root et le mot de passe root.

    cela peut donc bloquer sous plusieurs points :
    1°) le serveur 181.123.X.X peut refuser les connexions venant d'une autre adresse que lui meme (localhost ou 127.0.0.1)

    2°) le serveur peut ne pas reconnaitre ton ensemble login/mot de passe.

    donc si tu as acces au serveur, il te faut verifier que l'utilisateur root puisse acceder aux bases depuis une autre IP (% pour tous les serveurs, ou l'adresse IP de l'hote de depart à mettre dans les grant)

    verifier aussi que l'utilisateur root/root ait les droits d'acces.

    il peut aussi y avoir d'autres subtilités que je n'ai pas vues.
    • [^] # Re: parametrage...

      Posté par  . Évalué à 1.

      J'ai bien authorisé les connection exterieur ...
      la base fonctionne bien je l'attaque par phpmyadmin en local

      dans ma distrib (installer par defaut) c'est une version mysql serveur 3.23 ...
      il faudrait peut etre desinstaller le rpm existant pour pouvoir installer la version Client...

      mais je ne sait pas deinstaller (ni installer d'ailleurs ...)

      par contre je t'ai perdu pour le :

      donc si tu as acces au serveur, il te faut verifier que l'utilisateur root puisse acceder aux bases depuis une autre IP (% pour tous les serveurs, ou l'adresse IP de l'hote de depart à mettre dans les grant)
      • [^] # Re: parametrage...

        Posté par  (site web personnel, Mastodon) . Évalué à 2.

        J'ai bien authorisé les connection exterieur ...
        
        En faisant quoi, exactement? Comme mis ci-dessus, il te faut avoir un % dans la colonne Host de la table
        user & de la table db (si elle n'est pas vide)
        
        Table user :
        +------+-------+
        | Host | User |
        +------+-------+
        | %     | root  |
        +------+-------+
        
        Table db :
        +------+-------------+-------+
        | Host |      Db       | User |
        +------+-------------+-------+
        | %     | util_ecom | root  |
        +------+-------------+-------+
        

        La gelée de coings est une chose à ne pas avaler de travers.

      • [^] # Re: parametrage...

        Posté par  . Évalué à 1.


        J'ai bien authorisé les connection exterieur ...
        la base fonctionne bien je l'attaque par phpmyadmin en local


        pas tout a fait vrai :
        avec phpmyadmin en "local"
        ben tu attaques la base en "local" comme tu dis.

        c'est à phpmyadmin que tu accede depuis l'exterieur.
        et phpmyadmin se connecte ensuite sur la base en local.

        comme le dis notre ami, il te faut regarder les tables user et db pour autoriser le root à se connecter depuis n'importe quel adresse % dans la table user

        et l'autoriser à utiliser la base "util_ecom" depuis n'importe quel adresse % dans la table db

        ces tables se trouvent dans la base mysql
        • [^] # Re: parametrage...

          Posté par  . Évalué à 1.

          je viens de relire la question.

          ce n'est pas le client que tu dois configurer mais bien la base de données.

          ensuite est-ce la base de donnée qui est sous w2K, ou le serveur d'appli (en meme temps cela ne change pas grand chose.
          • [^] # Re: parametrage...

            Posté par  . Évalué à 1.

            le % y est bien ...

            via phpmyadmin

            Utilisateur Serveur TypePrivilèges "Grant"
            root % global ALL PRIVILEGES Oui
            root localhost global ALL PRIVILEGES Oui

            mysql serveur sur W2K est sur une version 4.1.20
            sur la redhat c'est une version 3.23

            chat bloc toujours ...

Suivre le flux des commentaires

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