Script Bash et commandes Mysql

pcsystemd Messages postés 734 Statut Membre -  
pcsystemd Messages postés 734 Statut Membre -
Bonjour,

je cherche a faire un script bash qui se connecte a Mysql puis qui execute des commandes. Voici le début de mon script

#! /bin/bash

DIRS="/chemin"
LOGSQL="${DIRS}/monlog.log"
FISQL="${DIRS}/masortie.sql"
echo "use mabase;select * from matable;" > ${FISQL} | mysql --user="$USERMYSQL" --password="$PASSMYSQL" || echo "Echec de connexion a mysql > ${LOGSQL}"

apres execution du script :

j'ai un souci avec
echo "use mabase;select * from matable;" > ${FISQL}


En effet mon fichier ${FISQL} contient : echo "use mabase;select * from matable;"

au lieu de contenir le résultat de mon select

y a un truc que je comprends pas.

Une idée?

Merci
--
L'accès au savoir est la première liberté que chaque homme devrait avoir.
Configuration: Linux
Mozilla 1.9.0.7

10 réponses

  1. gigaga Messages postés 2347 Date d'inscription   Statut Membre Dernière intervention   301
     
    in=$(mysql -p****** -e "use mabase;select * from matable;" -E)
    echo "$in" > ${FISQL}

    ??
    1
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    echo "use mabase;select * from matable;" | mysql --user="$USERMYSQL" --password="$PASSMYSQL" > ${FISQL} || echo "Echec de connexion a mysql > ${LOGSQL}"
    0
  3. pcsystemd Messages postés 734 Statut Membre 23
     
    Bonjour,

    merci beaucoup a vous deux. Une autre petite question si je veux inseré un fichier qui contient des lignes d'insert :

    Insert matable (sf,dfs,sdfs) values ('4','hhjhhlhkl','jhhg');
    Insert matable (sf,dfs,sdfs) values ('4','hhjhhlhkl','jhhg');
    Insert matable (sf,dfs,sdfs) values ('4','hhjhhlhkl','jhhg');
    Insert matable (sf,dfs,sdfs) values ('4','hhjhhlhkl','jhhg');
    Insert matable (sf,dfs,sdfs) values ('4','hhjhhlhkl','jhhg');


    comment dois je procedé?

    Merci
    0
  4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    insérer dans la base ?
    cat fichier | mysql ...
    et tu peux mixer les commandes
    (echo "use mabase;select * from matable;" ; cat fichier) | mysql ...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. pcsystemd Messages postés 734 Statut Membre 23
     
    Merci encore dubcek. J'ai donc suivi ce que tu m'indiques :

    echo "use mabase;";cat ${LISTFILE} | mysql --user="login" --password="pass" > ${FILESQL} || echo "Echec de connexion a mysql > ${LOGMYSQL}"
    


    mais j'ai l'erreur suivante :
    use mabase;
    ERROR 1046 (3D000) at line 1: No database selected
    Echec de connexion a mysql > /chemin/errormysql.log

    Puis je encore abusé de tes connaissances et juste si tu connais me dire comme dois je m'y prendre pour me connecter en ssh depuis mon script.

    En faites pour tous te dire, j'essaie de créer un script qui se lance sur la machine A et qui se connecte a une base postgresql pour avoir le resultat d'un select dans un fichier puis je traite ce fichier avec SED pour formater mes lignes d'insert puis je dois importé ce fichier dans une base Mysql qui est sur la machine B(connexion SSH) .

    Merci
    0
  7. pcsystemd Messages postés 734 Statut Membre 23
     
    Pardon dubcek ne tiens pas compte de l'erreur c'est ok j'avais fait n'importe quoi. Par contre pour la suite si quelqu'un a une idée je suis preneur.

    Merci
    0
  8. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    je dirais mettre les commandes dans un script et
    ssh user@hostname script
    0
  9. pcsystemd Messages postés 734 Statut Membre 23
     
    En faites non car je souhaite que tout soit automatisé dans mon script ainsi que la connexion SSH. Si j'ai compris ce que tu m'explique dans ta solution je dois saisir la connexion ssh.

    Merci
    0
  10. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    non, le ssh peut être dans un script qui s'exécute sur A, au retour du ssh l'exécution continue sur A
    0
  11. pcsystemd Messages postés 734 Statut Membre 23
     
    Ok merci je vais me documenté.
    0