Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité de passage
    Inscrit en
    novembre 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : novembre 2008
    Messages : 102
    Points : 4
    Points
    4

    Par défaut comment exporter une base de données situé sur un autre poste

    Bonjour à tous, je suis en ce moment une formation sur la création de site web, pour ce faire nous avons mis en réseau une vingtaine de machine, nous avons configuré le fichier host pour la résolution DNS ainsi qu’il suit :
    127.0.0.1 localhost
    192.168.10.1 pc01.cfprz.com
    .
    .
    .

    192.168.10.24 pc24.cfprz.com

    Nous utilisons AppServ 2.5.10 (lequel prend en charge ‘’Apache 2.2, MySQL, php5 et phpMyAdmin 2.10.’’ ) pour la création du site, tout dernièrement nous avons migré vers phpMyAdmin-3.4.10.1-all-languages qui, selon notre formateur est plus évolué et plus adapté à notre formation. Il nous a demandé d’exporter la base de données ’’phpmyadmin ‘’ aussi bien avec l’interface graphique de PhpMyAdmin qu’en ligne de commande avec MySQLDump. Nous n’eûmes aucun problème pour le faire. Ensuite il nous a demandé d’exporter la même base à partir d’une autre machine du réseau en ligne de commande. Nous n’avons pas pu le faire car le système dit ne pas pouvoir se connecter à la machine hôte. Voici la commande que nous avons utilisée :
    c:\Documents and Settings\user>mysqldump –u owner –pdemouser –host=pc01.cfprz.com –c phpmyadmin > copiedb.sql
    avec pc01.cfprz.com le poste sur lequel je veux copier la base de données phpmyadmin.
    Je ne comprends pas pourquoi ça ne marche pas, y’a-t-il une commande manquante ?
    Nous avons ensuite installé navicat un utilitaire graphique permettant de nous connecter aux différents postes du réseau, le même problème s’est posé quand il s’est agit de nous connecter sur un poste autre que le notre. Pour nous amener à comprendre le problème le formateur nous dit que dans notre cas, le serveur web et le serveur de BD sont installés sur la même machine mais que dans la réalité ils sont sur des machines différentes. Il nous a demandé comment feront nous pour nous connecter à une base de données située sur un serveur distant ?que si nous arrivons à comprendre ce principe nous pourront également nous connecter les uns sur les machines des autres.
    Quelqu’un pourrait-il me dire comment fait on pour se connecter à une BD située sur un serveur distant, ou me proposé un cours ou un article qui en parle ?merci pour votre compréhension.

  2. #2
    Modérateur
    Avatar de CinePhil
    Homme Profil pro Philippe Leménager
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    13 820
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe Leménager
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 13 820
    Points : 24 813
    Points
    24 813

    Par défaut

    Un utilisateur MySQL est défini par son login et son host.
    Si tu vas dans la table mysql.user, tu verras de quoi je parle.

    Ainsi, si l'utilisateur 'toto' est déclaré sur la machine 'M1' comme comme 'toto'@'M1', il ne pourra se connecter à ce serveur MySQL que depuis la machine 'M1'. Toute tentative de se connecter à partir d'une autre machine au MySQL de ce poste sera refusée par MySQL.

    On peut aussi définir une plage d'adresses IP pour autoriser 'toto' à se connecter depuis un ensemble de machines du réseau, voire depuis n'importe où à l'aide du caractère générique *.

    Voir la doc MySQL pour plus d'explication sur le paramétrage des utilisateurs, notamment ce passage :
    Citation Envoyé par Doc MySQL
    Notez bien : les caractères joker ‘_’ et ‘%’ sont autorisés lors de la spécification de noms dans la commande GRANT. Cela signifie que si vous voulez utiliser par exemple le caractère littéral ‘_’ comme nom de base, vous devez le spécifier sous la forme ‘\_’ dans la commande GRANT, pour éviter à l'utilisateur d'accéder à d'autres bases, dont le nom pourrait correspondre au masque d'expression régulière ainsi créé. Utilisez plutôt GRANT ... ON `foo\_bar`.* TO ....

    Afin de permettre l'identification des utilisateurs depuis des hôtes arbitraires, MySQL supporte la spécification du nom d'utilisateur nom_utilisateur sous la forme user@host. Si vous voulez spécifier un nom d'utilisateur user qui contient des caractères spéciaux tels que ‘-’, ou une chaîne d'hôte host qui contient des caractères joker (comme ‘%’), vous pouvez placer le nom de l'utilisateur ou de l'hôte entre guillemets (par exemple, 'test-utilisateur'@'test-nomdhote').

    Vous pouvez spécifier des caractères jokers dans le nom d'hôte. Par exemple, user@'%.loc.gov' fait correspondre l'utilisateur user de n'importe quel hôte du domaine loc.gov, et user@'144.155.166.%' fait correspondre l'utilisateur user à n'importe quelle adresse de la classe C 144.155.166.

    La forme simple de user est synonyme de user@"%".
    Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
    Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •