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

Scripts/Batch Discussion :

[PowerShell] MySQL.exe input error


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Par défaut [PowerShell] MySQL.exe input error
    Bonjour,
    Je fais un script qui permet de remonter une base MySQL, présente sur un autre serveur, à partir d'un fichier .sql présent dans le même répertoire que mon script.
    J'ai une commande dans un script batch qui me permet de restaurer une base de données MySQL à partir d'un fichier texte:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\...\mysql.exe -h localhost -u root -p base_données_à_restaurer < C:\...\SauvegardeBDD\fichier_dump_base_données.sql
    Je souhaite intégrer cette commande à un script PowerShell. J'ai donc tout naturellement ajouté à mon script PowerShell la commande suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd.exe /c C:\...\mysql.exe "-h" localhost "-u" root "-p" base_données_à_restaurer < C:\...\SauvegardeBDD\fichier_dump_base_données.sql
    Cependant lors de l'exécution du script, un message d'erreur est apparu comme quoi le flux de redirection en input n'était pas pris en charge:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    L'opérateur «*<*» est réservé pour une utilisation ultérieure.
    Au niveau de C:\Users\mmonge\Documents\Script_de_Sauvegarde\CopieBDD2G\CopyBDD2G.ps1*: 53 Caractère*: 81
    + cmd.exe /c  $mysqlpathmysql "-h" $mysqlhost "-u" $mysqluser "-p"$mysqlpassword < <<<<  $mysqlpathtomysqldumpfile;
        + CategoryInfo          : ParserError: (<:OperatorToken) [], ParseException
        + FullyQualifiedErrorId : RedirectionNotSupported
    J'ai essayé d'inverser les flux de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd.exe /c C:\...\SauvegardeBDD\fichier_dump_base_données.sql > C:\...\mysql.exe -h localhost -u root -p base_données_à_restaurer
    Ensuite, j'ai essayé de mettre des "quotes" sur le flux de redirection mais sans succès, aucun message d'erreur mais commande ne donnant aucun résultat:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd.exe /c C:\...\mysql.exe "-h" localhost "-u" root "-p" base_données_à_restaurer "<" C:\...\SauvegardeBDD\fichier_dump_base_données.sql
    Enfin, je suis aller chercher de la documentation et j'ai essayé d'utiliser la fonction Get-Content mais sans succès de deux manières différentes.

    Premier essai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd.exe /c C:\...\mysql.exe "-h" localhost "-u" root "-p" base_données_à_restaurer | Get-Content C:\...\SauvegardeBDD\fichier_dump_base_données.sql
    Deuxième essai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd.exe /c Get-Content | C:\...\SauvegardeBDD\fichier_dump_base_données.sql > C:\...\mysql.exe "-h" localhost "-u" root "-p" base_données_à_restaurer
    Etant bloqué suite à ce problème, je ne peux pas remonter ma base de données à partir du fichier de dump.
    Je vous remercie d'avance pour toute information me permettant d'avancer.

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    essaie cette astuce trouvée ici :
    http://www.techtalkz.com/microsoft-w...and-input.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    'D','Q',$([char]26)|Set-Content C:\Temp\Cmds.txt -Encoding ASCII
     
    $Result=cmd /C @'
    Debug < c:\temp\Cmds.txt
    '@
     
    $Result
    La here-string, simple quote, complète la ligne de commande tout en évitant le déclenchement du parseur sur la ligne contenant l'opérateur de redirection en entrée.

  3. #3
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    salut,

    et ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd.exe /c "C:\...\mysql.exe -h localhost -u root -p base_données_à_restaurer < C:\...\SauvegardeBDD\fichier_dump_base_données.sql"
    si tu as PS3 tu peux essayer avec le nouvel opérateur %-- qui permet de ne pas parser la suite de la ligne


Discussions similaires

  1. Réponses: 23
    Dernier message: 11/04/2012, 17h00
  2. Autocompletion avec l'outil mysql.exe, rehash.
    Par samouille666 dans le forum Outils
    Réponses: 1
    Dernier message: 16/09/2008, 12h00
  3. Cherche log : mysql max connect error
    Par Hitomi_Kay dans le forum Débuter
    Réponses: 0
    Dernier message: 10/03/2008, 09h02
  4. [mysql++] SSL connection error
    Par Barnabo dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 06/03/2007, 16h12
  5. mysql.exe se referme tout de suite
    Par spacenet dans le forum Administration
    Réponses: 2
    Dernier message: 01/09/2006, 22h29

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