IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

importer un BDD en ligne de commande avec MAMP: mysqldump not found ?


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 280
    Par défaut importer un BDD en ligne de commande avec MAMP: mysqldump not found ?
    Bonjour,

    j'ai installé MAMP et au lieu de passer par phpMyAdmin pour importer une BDD, je souhaiterais le faire en ligne de commande !! ( juste pour savoir le faire )
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqldump -u root -p root nomdemabase > chemin vers le fichier sql

    Je dois taper cette ligne de commande à l'endroit où se trouve l'éxécutable unix mysqldump ! ( si j'ai bien compris )
    Ce fichier se trouve dans Applications/MAMP/Library/bin ( sûr de moi, je le vois de mes yeux !!)

    Mais une fois dans ce dossier , lorsque je tape la commande ci-dessus et le terminal m'indique: mysqldump not found

    Ce serait une histoire de PATH ?

    Merci pour vos réponses,
    Laurent.

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Oui sûrement à cause du PATH, essaie donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./mysqldump -uroot -proot nomdemabase > chemin vers le fichier sql

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 280
    Par défaut
    Alor résultat des courses:

    j'ai exécuté cette ligne de commandes
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    ./mysqldump -uroot -p world > /Users/moi/Desktop/world.sql

    (bien sûr, moi n'est pas mon vrai nom de user), j'ai enlevé le root après le -p , car ça ne plaisait pas ( trop risqué ! )
    puis j'ai fait entrée :

    je suis revenu en ligne de commande ( le prompt ) ! Ce que je veux dire par là, c'est qu'il y a eu exécution ( ou pas ) de la ligne.
    mais si je vais dans phpMyAdmin, ma base world est vide !!!!
    pour info , la base que je veux importer est ici ( la doc de phpMyAdmin ).

    On peut déjà commencer par le début:
    j'ai pris un autre chemin ? pourquoi ./mysqldump au lieu de mysqldump dans le dossier bin ?

    Et puis, que ce passe t-il finalement pour ma nouvelle ligne de commande ? elle passe mais j'ai l'impression qu'il ne se passe rien. Ou alors , le résultat se trouverait ailleurs
    mais où ?

    Bon, en tout cas , j'ai avancé merci...!

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Pardon, tu veux importer et pas exporter.

    mysqldump sert à exporter.

    Pour importer le principe est le même avec le client mysql et une rediction entrante plutôt que sortante :

    ./mysql -ulogin -ppassword < data.sql

    Il faudra peut-être préciser la bdd en paramètre selon ton .sql

  5. #5
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    j'ai pris un autre chemin ? pourquoi ./mysqldump au lieu de mysqldump dans le dossier bin ?
    Parce qu'il faut préciser au shell où se trouve le programme que tu souhaites exécuter.
    Ça peut paraître bizarre, mais ça évite toute erreur au cas où tu aurais plusieurs programmes ayant le même nom.
    Avec ./ tu forces la recherche d'abord dans le répertoire courant, puis dans le PATH.
    Tu peux ajouter . dans le PATH, mais il faudra faire attention à ce que tu fais.

  6. #6
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 280
    Par défaut
    Bonjour,

    ça marche !!
    ( oui j'avoue j'aurai dû chercher dump = dégager )
    j'ai tapé la ligne de commande dans le dossier Applications/MAMP/Library/bin
    en indiquant le chemin de mon fichier sql : /Users/moi/Desktop/world.sql

    Mais je ne comprends pas comment ça fonctionne !!!
    Puisqu'on parle du PATH, je m'y suis mis:
    j'ai fait un en ligne de commande

    résultat:
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
    Une suite de dossiers (séparés par des : ) qui contiennent des fichiers exécutables unix: les commandes qu'on tape dans un terminal.

    je suis allé voir à l'intérieur .... mais je n'ai pas vu de mysql ! d'un autre côté , le seul mysql installé sur l'ordi est celui installé avec MAMP .

    Alors s'il commence par chercher dans le répertoire courant ( celui où je me trouve au moment de taper la commande ), je suppose que c'est le seul endroit où il va trouver la commande mysql !

    Parce qu'il faut préciser au shell où se trouve le programme que tu souhaites exécuter.
    Je pensais justement que c'était ce que je faisais en étant dans le bon dossier et en indiquant la commande mysql !

    Après, j'imagine que je peux rajouter un dossier ( chemin ) au PATH .

  7. #7
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    C'est le ./ initial qui indique au shell de chercher dans le répertoire courant

  8. #8
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 280
    Par défaut
    Donc , je résume:

    lorsque je suis dans mon dossier
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    Applications/MAMP/Library/bin
    si je fais
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql -u root -p root nomdemabase > chemin vers le fichier sql

    le mac va chercher la commande mysql dans le PATH (par défaut ) !!
    si je veux qu'il cherche la commande dans le dossier où je suis ( dossier courant ),
    alors je dois mettre ./ devant ma commande pour lui signifier !!

    Si j'ai bien compris.

    Du coup je fais echo $PATH et c'est bien là-dedans ( les dossiers ) qu'il cherche les commandes.
    Si je veux rajouter cette commande, il faut lui spécifier le dossier Applications/MAMP/Library/bin dans la liste ( avec le bon chemin, en partant du dossier racine je suppose ) !
    La variable path ( sur le mac ) se trouve dans /etc ...
    puis je fais vim paths et je tombe sur la liste des dossiers spécifiés
    J'imagine que si je rajoute un chemin , ça marche ?

  9. #9
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    C'est bien résumé

    et oui pour l'ajout du dossier au PATH

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Batch] Ligne de commande avec un chemin avec espaces
    Par Oluha dans le forum Scripts/Batch
    Réponses: 17
    Dernier message: 11/10/2018, 10h36
  2. import de fichier en ligne de commande
    Par gypa dans le forum Requêtes
    Réponses: 3
    Dernier message: 15/11/2006, 10h40
  3. [RCP] generation du rcp en ligne de commande avec ant
    Par albeau dans le forum Eclipse Platform
    Réponses: 5
    Dernier message: 01/09/2006, 17h34
  4. compiler en ligne de commandes avec dev-cpp
    Par yashiro dans le forum Dev-C++
    Réponses: 8
    Dernier message: 30/03/2006, 19h14
  5. [DEBUTANT] Ligne de commande avec ShellExecute()
    Par alainpeniche dans le forum Windows
    Réponses: 3
    Dernier message: 22/08/2005, 11h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo