j'ai un scrpit shell qui se connecte sur la base de données mysql, puis exporte les données en fichier.csv. Mais voila, je bloque là dessus, je ne parvient pas à me connecter sur la base de données, et je n'arrive pas à localiser l'erreur.Est-ce que quelqu'un peut m'aider s'il vous plait?
Voici un morceau de ma code source
#!/bin/sh
currentTimeStartExp=`date +'20%y-%m-%d %H:%M:%S'`
#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
echo "Start EXPORT $currentfile at $currentTimeStartExp"
#Declaring mysql BIG5 DB connection
DBIG_DB_USER='root'
DBIG_DB_PASSWD=''
DBIG_DB_PORT=3306
DBIG_DB_HOST='192.168.56.102'
DBIG_DB_NAME='mabd'
echo "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 bdorange.client into outfile '$currentfile' fields terminated by '|';
EOF
#currentTimeEndExp=`date +'20%y-%m-%d %H:%M:%S'`
echo "connexion done and export done"
Le echo "start connexion" s'affiche bien sur l'ecran, mais le : echo :" connexion done and export done " ne s'affiche pas. Aidez moi s'il vous plait.
'est fait et ça macrhe. Mais puis voila un autre erreur :
Start connexion to master
ERROR 1045 (28000): Access denied for user '$DBIG_MASTER_DB_'@'192.168.56.102' (using password: YES)
connexion master done
[3] Fini sh /data/script/shell/reprocess/nimportequoi.sh > /data/script/log/nimportequoi`date +\%y\%m\%d`.log 2>&1
[root@localhost log]#
il ne parvient pas à se connecter en tant que root
Je ne crois pas que ce soit ça parce que quand j'ai changé le nom de user en $DBIG_USER, l'erreur est le même.
#Declaring mysql BIG5 DB connection
DBIG_DB_USER='root'
DBIG_DB_PASSWD=''
DBIG_DB_PORT='3306'
DBIG_DB_HOST='192.168.56.102'
DBIG_DB_NAME='mabase'
echo "Start connexion to master"
voici l'erreur qui demeure encore :
ERROR 1045 (28000): Access denied for user '$DBIG_USER'@'192.168.56.102' (using password: YES)
#currentTimeEndExp=`date +'20%y-%m-%d %H:%M:%S'`
« Access denied for user '$DBIG_USER' »
mysql tente d'utiliser littéralement '$DBIG_USER'.
il n'y a pas de substitution. pourquoi ?...
sans la vraie ligne de commande utilisée, on ne peut pas le dire.
si je met -u 'root' à la place de -u '$DBIG_USER' l'erreur devient Access denied for user 'root'@'192.168.56.102' ... Je veux dire que ce soit root ou bien '$DBIG_USER' c'est toujours acces denied
a mon avis oui parce que quand je fais la requete select User, Host from mysql.user il y a l'utilisateur root avec host dont la valeur est % qui est présent...