Shell + connexion à la base de données mysql
Résolu/Fermé
Lacapricorne
Messages postés
17
Date d'inscription
mardi 6 février 2018
Statut
Membre
Dernière intervention
8 février 2018
-
Modifié le 7 févr. 2018 à 10:33
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 - 8 févr. 2018 à 19:47
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 - 8 févr. 2018 à 19:47
A voir également:
- Mysql shell connect
- Classic shell windows 10 français - Télécharger - Personnalisation
- Mysql download - Télécharger - Bases de données
- Créer un compte france connect ameli - Guide
- Ubisoft connect - Télécharger - Téléchargement & Transfert
- Efi shell version 2.50 - Forum Windows 10
3 réponses
UnGnU
Messages postés
1158
Date d'inscription
lundi 2 mai 2016
Statut
Contributeur
Dernière intervention
22 décembre 2020
157
7 févr. 2018 à 10:47
7 févr. 2018 à 10:47
Salut,
Ton précédent problème a été réglé ?
Si oui, la moindre des chose serait de le préciser et de clore le sujet, non ?
Sinon, rajoutes
Ton précédent problème a été réglé ?
Si oui, la moindre des chose serait de le préciser et de clore le sujet, non ?
Sinon, rajoutes
set -xvà ton script et poste le résultat ici.
Lacapricorne
Messages postés
17
Date d'inscription
mardi 6 février 2018
Statut
Membre
Dernière intervention
8 février 2018
7 févr. 2018 à 11:22
7 févr. 2018 à 11:22
mon problème du sujet précédent a été reglé et dejà cloturé.Merci à toi.
rajouter set -xv?pourrait tu être plus précis s'il te plait?
rajouter set -xv?pourrait tu être plus précis s'il te plait?
UnGnU
Messages postés
1158
Date d'inscription
lundi 2 mai 2016
Statut
Contributeur
Dernière intervention
22 décembre 2020
157
7 févr. 2018 à 11:25
7 févr. 2018 à 11:25
Après le shebang, tu rajoutes
set -xvpour rendre ton script plus verbeux et essayer de voir où ça coince.
#!/bin/sh set -xv ...
Lacapricorne
Messages postés
17
Date d'inscription
mardi 6 février 2018
Statut
Membre
Dernière intervention
8 février 2018
7 févr. 2018 à 11:40
7 févr. 2018 à 11:40
voila ce qu'il en resulte:
[root@localhost log]# more moscript180207.log currentTimeStartExp=`date +'20%y-%m-%d %H:%M:%S'` date +'20%y-%m-%d %H:%M:%S' ++ date '+20%y-%m-%d %H:%M:%S' + currentTimeStartExp='2018-02-07 11:34:55' #currentfile="/data/barring/cdr_rated_$1"+".csv" #currentfile="/data/tmp/cdr_rated_$1.csv" #currentfile="/DWH2017/SAVE/Reste/cdr_rated_$1"+".csv" if [ $# -eq 0 ] then currentfile="/archives/exportbase/cdr_rated_"`date +'20%y-%m-%d' -d ' day'`".csv" currentdate=`date +'20%y-%m-%d' -d ' day'` else currentfile="/archives/exportbase/cdr_rated_$1.csv" currentdate=$1 fi + '[' 0 -eq 0 ']' date +'20%y-%m-%d' -d ' day' ++ date +20%y-%m-%d -d ' day' + currentfile=/archives/exportbase/cdr_rated_2018-02-08.csv date +'20%y-%m-%d' -d ' day' ++ date +20%y-%m-%d -d ' day' + currentdate=2018-02-08 echo "Start EXPORT $currentfile at $currentTimeStartExp" + echo 'Start EXPORT /archives/exportbase/cdr_rated_2018-02-08.csv at 2018-02-07 11:34:55' Start EXPORT /archives/exportbase/cdr_rated_2018-02-08.csv at 2018-02-07 11:34:55 #Declaring mysql BIG5 DB connection DBIG_DB_USER='root' + DBIG_DB_USER=root DBIG_DB_PASSWD='' + DBIG_DB_PASSWD= DBIG_DB_PORT=3306 + DBIG_DB_PORT=3306 DBIG_DB_HOST='192.168.56.102' + DBIG_DB_HOST=192.168.56.102 DBIG_DB_NAME='mabase' + DBIG_DB_NAME=bdorange echo "Start connexion" + echo 'Start connexion' Start connexion #mysql command to connect to database prod /usr/bin/mysql -u '$DBIG_DB_USER' -p '$DBIG_DB_PASSWD' -P '$DBIG_DB_PORT' -h '$DBIG_DB_HOST' -D '$DBIG_DB_NAME' <<EOF select * from mabase.client into outfile '$currentfile' fields terminated by '|'; EOF --Plus--(63%)
UnGnU
Messages postés
1158
Date d'inscription
lundi 2 mai 2016
Statut
Contributeur
Dernière intervention
22 décembre 2020
157
>
Lacapricorne
Messages postés
17
Date d'inscription
mardi 6 février 2018
Statut
Membre
Dernière intervention
8 février 2018
7 févr. 2018 à 11:43
7 févr. 2018 à 11:43
Recommence avec cat à la place de more (qui n'affiche pas la totalité du log) ;-(
Lacapricorne
Messages postés
17
Date d'inscription
mardi 6 février 2018
Statut
Membre
Dernière intervention
8 février 2018
7 févr. 2018 à 11:56
7 févr. 2018 à 11:56
avec cat ça donne ça :
[root@localhost log]# cat nomscript180207.log currentTimeStartExp=`date +'20%y-%m-%d %H:%M:%S'` date +'20%y-%m-%d %H:%M:%S' ++ date '+20%y-%m-%d %H:%M:%S' + currentTimeStartExp='2018-02-07 11:34:55' #currentfile="/data/barring/cdr_rated_$1"+".csv" #currentfile="/data/tmp/cdr_rated_$1.csv" #currentfile="/DWH2017/SAVE/Reste/cdr_rated_$1"+".csv" if [ $# -eq 0 ] then currentfile="/archives/exportbase/cdr_rated_"`date +'20%y-%m-%d' -d ' day'`" .csv" currentdate=`date +'20%y-%m-%d' -d ' day'` else currentfile="/archives/exportbase/cdr_rated_$1.csv" currentdate=$1 fi + '[' 0 -eq 0 ']' date +'20%y-%m-%d' -d ' day' ++ date +20%y-%m-%d -d ' day' + currentfile=/archives/exportbase/cdr_rated_2018-02-08.csv date +'20%y-%m-%d' -d ' day' ++ date +20%y-%m-%d -d ' day' + currentdate=2018-02-08 echo "Start EXPORT $currentfile at $currentTimeStartExp" + echo 'Start EXPORT /archives/exportbase/cdr_rated_2018-02-08.csv at 2018-02-07 11:34:55' Start EXPORT /archives/exportbase/cdr_rated_2018-02-08.csv at 2018-02-07 11:34:5 5 #Declaring mysql BIG5 DB connection DBIG_DB_USER='root' + DBIG_DB_USER=root DBIG_DB_PASSWD='' + DBIG_DB_PASSWD= DBIG_DB_PORT=3306 + DBIG_MASTER_DB_PORT=3306 DBIG_DB_HOST='192.168.56.102' + DBIG_DB_HOST=192.168.56.102 DBIG_DB_NAME='mabase' + DBIG_DB_NAME=mabase echo "Start connexion" + echo 'Start connexion' Start connexion #mysql command to connect to database prod /usr/bin/mysql -u '$DBIG_DB_USER' -p '$DBIG_DB_PASSWD' -P '$DBIG _DB_PORT' -h '$DBIG_DB_HOST' -D '$DBIG_DB_NAME' <<EOF select * from mabase.client into outfile '$currentfile' fields terminated by ' |'; EOF + /usr/bin/mysql -u '$DBIG_DB_USER' -p '$DBIG_DB_PASSWD' -P '$DBIG _DB_PORT' -h '$DBIG_DB_HOST' -D '$DBIG_DB_NAME' Unknown suffix '$' used for variable 'port' (value '$DBIG_DB_PORT') /usr/bin/mysql: Error while setting value '$DBIG_DB_PORT' to 'port' #currentTimeEndExp=`date +'20%y-%m-%d %H:%M:%S'` echo "connexion done" + echo 'connexion done' connexion done if [ -f "$currentfile" ] then currentfilegz="$currentfile.gz" gzip $currentfile if [ -f "$currentfilegz" ] then sshpass -p "rasoamanarivo" ssh root@192.168.56.102 <<EOF sshpass -p "rasoamanarivo" scp -p -r root@192.168.56.103:$curren tfilegz /DWHFB/archivecsvprod EOF echo "FTP :$currentfilegz OK ." currentTimeEndExp=`date +'20%y-%m-%d %H:%M:%S'` echo "End EXPORT $currentfilegz at $currentTimeEndExp" rm -rf $currentfilegz fi fi + '[' -f /archives/exportbase/cdr_rated_2018-02-08.csv ']' [root@localhost log]#
UnGnU
Messages postés
1158
Date d'inscription
lundi 2 mai 2016
Statut
Contributeur
Dernière intervention
22 décembre 2020
157
>
Lacapricorne
Messages postés
17
Date d'inscription
mardi 6 février 2018
Statut
Membre
Dernière intervention
8 février 2018
7 févr. 2018 à 12:01
7 févr. 2018 à 12:01
+ /usr/bin/mysql -u '$DBIG_DB_USER' -p '$DBIG_DB_PASSWD' -P '$DBIG _DB_PORT' -h '$DBIG_DB_HOST' -D '$DBIG_DB_NAME'
Unknown suffix '$' used for variable 'port' (value '$DBIG_DB_PORT')
/usr/bin/mysql: Error while setting value '$DBIG_DB_PORT' to 'port'
Enlève l'espace dans
-P '$DBIG _DB_PORT';-(
Exileur
Messages postés
1475
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
16 décembre 2022
150
Modifié le 7 févr. 2018 à 21:34
Modifié le 7 févr. 2018 à 21:34
Hello,
Dans ton code, le mot de passe est vide. Si c'est le cas, enléve le
Sinon indique le mot de passe dans la variable en haut.
N'utilise pas de simple quote, comme l'a dit UnGnU, si tu veux que ta variable soit interpreter comme une variable, et non comme une chaine de caractére, utilise les doubles quote -> https://forums.commentcamarche.net/forum/affich-35188329-shell-connexion-a-la-base-de-donnees-mysql#18
pour ce qui est de la DB, je ne met pas de -D généralement. Je fais appel aux bdd avec BDD.TABLE (ex :
A plus :)
Edit : et il y a ça aussi ->
edit edit : et du coup, plutot que de te dire que la base n'existe pas (ce qui pourait être une faille), il te jette
Dans ton code, le mot de passe est vide. Si c'est le cas, enléve le
-p $DBIG_DB_PASSWD. Sinon ton script va s'attendre à un mdp en entré.
Sinon indique le mot de passe dans la variable en haut.
N'utilise pas de simple quote, comme l'a dit UnGnU, si tu veux que ta variable soit interpreter comme une variable, et non comme une chaine de caractére, utilise les doubles quote -> https://forums.commentcamarche.net/forum/affich-35188329-shell-connexion-a-la-base-de-donnees-mysql#18
pour ce qui est de la DB, je ne met pas de -D généralement. Je fais appel aux bdd avec BDD.TABLE (ex :
users.passwords). C'est plus propre de gérer ça au niveau de ta requéte :)
A plus :)
Edit : et il y a ça aussi ->
+ DBIG_DB_NAME=bdorange
select * from mabase.client
edit edit : et du coup, plutot que de te dire que la base n'existe pas (ce qui pourait être une faille), il te jette
Lacapricorne
Messages postés
17
Date d'inscription
mardi 6 février 2018
Statut
Membre
Dernière intervention
8 février 2018
8 févr. 2018 à 09:07
8 févr. 2018 à 09:07
cela a fonctionner, je vous remercie infiniment...
Exileur
Messages postés
1475
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
16 décembre 2022
150
8 févr. 2018 à 19:47
8 févr. 2018 à 19:47
np