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 :

Import de base de donnée avec system()


Sujet :

PHP & Base de données

  1. #1
    Membre du Club Avatar de erehcab
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 215
    Points : 57
    Points
    57
    Par défaut Import de base de donnée avec system()
    Bonjour à tous,

    je ne comprends pas pourquoi je n'arrive pas à importer une base de donnée en local avec cette commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("cat ma_base.sql | mysql --host=localhost --user=root --password= --database=ma_base");
    le fichier sql se trouve dans le même répertoire que le fichier php.

    ma commande est incorrecte ?

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    ma commande est incorrecte ?
    Je crois bien oui, normalement c'est de cette façon qu'on procède pour les imports:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql -u user -ppassword -h host < fichier.sql
    Et au cas où tu demanderai, voici comment faire l'exact inverse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqldump -u user -ppassword -h host > fichier.sql

  3. #3
    Membre du Club Avatar de erehcab
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 215
    Points : 57
    Points
    57
    Par défaut
    Salut,

    je viens de tester ta ligne de commande et toujours rien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("mysql -u root -p -h localhost < cyclechepresta.sql");
    vois tu quelque chose qui te parait louche ?

  4. #4
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    Bonsoir,

    as tu regardé tes logs ?

    le user a t il les droits d'execution sur la commande mysql ?

  5. #5
    Membre du Club Avatar de erehcab
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 215
    Points : 57
    Points
    57
    Par défaut
    Très bonne idée merci !

    il me dit : 'mysql' n'est pas reconnu en tant que commande interne
    ou externe, un programme ex‚cutable ou un fichier de commandes.

    je suppose qu'il faut que j'ajoute le chemin vers mysql dans mes variables d'environnements ?

  6. #6
    Membre du Club Avatar de erehcab
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 215
    Points : 57
    Points
    57
    Par défaut
    Pour info au départ j'utilisais la commande fournit par le guide OVH pour importer une base de donnée volumineuse en local avec Windows comme OS et Wamp pour gérer apache et mysql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("cat ma_base.sql | mysql --host=sql_host--user=sql_user --password=sql_password ma_base");
    Pour que ça fonctionne j'ai dût ajouter à mes variables d'environnements le chemin vers le répertoire bin de mysql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\wamp\bin\mysql\mysql5.5.16\bin
    et modifier la commande parce que je suppose que " cat " est une commande Linux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("type ma_base.sql | mysql --host=sql_host--user=sql_user --password=sql_password ma_base");
    Voilà si ça peut aider certains !!!

Discussions similaires

  1. probléme avec la commande qui importe la base de donnée
    Par persé dans le forum Administration
    Réponses: 4
    Dernier message: 10/04/2013, 15h23
  2. Erreur à l'importation d'une base de données avec PhpmyAdmin
    Par fuyo2004 dans le forum Installation
    Réponses: 1
    Dernier message: 22/06/2011, 03h43
  3. Importer un base de donnée avec mot de passe md5
    Par daviddu54 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 29/05/2010, 11h21
  4. Import d'une base de données avec uniquement un fichier MDF
    Par ridan dans le forum Administration
    Réponses: 2
    Dernier message: 25/03/2010, 12h40
  5. [SQL] Importer un fichier .sql dans une base de données avec PHP
    Par budiste dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 23/06/2006, 14h15

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