Accéder à une base MySQL à partir d’un shell MySQL

Objectif

Lancer une commande SQL SELECT à partir d’un script et exploiter son résultat, puis lancer la sauvegarde d’une base de données MySQL. SQL

Le script shell

En ligne 3, la requête SQL récupère la colonne libelle de la table fonction. Les données sont stockées dans la variable listeFonctions. Cette variable est ensuite exploitée dans une boucle for en ligne 4.

En ligne 9, la commande mysqldump permet d’exporter une base de données vers le format SQL. mysqldump

Si cela est nécessaire, les codes retour des commandes mysql et mysqldump peuvent être exploités (exemple en ligne 9). mysql

$ nl test_sql.sh  
    1  #! /bin/bash  
 
    2  # Récupérer une liste de fonctions à partir de la BD  
    3  listeFonctions=$(mysql -unomUser -pmotPasse -h machineServeur 
--batch --skip-column-names --execute "select libelle from fonction"  
maBaseASauver 2>/dev/null)  
    4  for fonction in "$listeFonctions"   
    5  do  
    6    echo "Traitement de la fonction $fonction"  
    7  done  
 
    8  # Sauvegarde de la base de donnees  
    9  if mysqldump -unomUser -pmotPasse -h machineServeur maBaseASauver >  
/tmp/...
couv_EI7PRO.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Lancer un script d'un autre langage à partir d'un shell
Suivant
Présentation