Pages : 1
#1 Le 06/09/2008, à 10:48
- rniamo
script et script mysql [résolu]
bonjour,
comment executer une commande mysql (create user et create table)dans un script bash ?
merci
Dernière modification par rniamo (Le 06/09/2008, à 12:10)
< Quelques un des mes programmes | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
\ ^__^
\ (o o)\_______
(___)\ )\
Hors ligne
#2 Le 06/09/2008, à 11:26
- tiky
Re : script et script mysql [résolu]
Tu mets ton script sql dans un fichier, par exemple query.sql puis tu tapes une commande du style:
mysql -u un_utilisateur -p ton_mdp < query.sql
Ça doit aussi marcher en faisant un echo.
Conseil d'expert: il vous faut un dentifrice adapté...
Hors ligne
#3 Le 06/09/2008, à 12:09
- rniamo
Re : script et script mysql [résolu]
ok merci beaucoup
< Quelques un des mes programmes | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
\ ^__^
\ (o o)\_______
(___)\ )\
Hors ligne
#4 Le 06/09/2008, à 18:31
- rniamo
Re : script et script mysql [résolu]
je up parce que j'ai quelques soucis :
FICHIER_MYSQL="query.sql";
echo "CREATE USER '$1'@'localhost' IDENTIFIED BY '$2';" > $FICHIER_MYSQL;
echo "CREATE DATABASE IF NOT EXISTS '$1' DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;" >> $FICHIER_MYSQL;
mysql -u "$UTILISATEUR_MYSQL" --password="$MOT_DE_PASSE_MYSQL" < query.sql;
rm query.sql;
1) comment véréifier si je peux créer l'utilisateur ?
2) la 2eme ligne ne marche pas. (edit : ça marche sans les ' de '$1')
merci
Dernière modification par rniamo (Le 06/09/2008, à 18:44)
< Quelques un des mes programmes | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
\ ^__^
\ (o o)\_______
(___)\ )\
Hors ligne
#5 Le 06/09/2008, à 19:04
- tiky
Re : script et script mysql [résolu]
1) Je n'ai pas compris ta question, tu veux savoir si la commande mysql réussie ou échoue?
2) Pour les ', c'est normal, en bash, ça demande de ne pas interpréter le contenu de la chaîne. Par exemple:
echo "$HOME"
et
echo '$HOME'
ne donneront pas le même résultat.
Conseil d'expert: il vous faut un dentifrice adapté...
Hors ligne
#6 Le 06/09/2008, à 19:32
- rniamo
Re : script et script mysql [résolu]
ok. pour le 1 t'as compris, moi je veux créer un utilisateur mais s'i existe que se passe t-il ? Que faire dasnce cas ?
< Quelques un des mes programmes | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
\ ^__^
\ (o o)\_______
(___)\ )\
Hors ligne
#7 Le 06/09/2008, à 19:40
- tiky
Re : script et script mysql [résolu]
MySQL retourne une erreur? Il faut récupérer le code retour de la commande MySQL avec $?
juste après. Si une erreur est survenue, il devrait être différent de 0. Maintenant MySQL n'est pas forcé de considérer cela comme une erreur et peut retourner 0. Il faut tester Si c'est pas le cas, MySQL doit donner un message d'erreur, en le filtrant avec awk et un if, ça devrait être bon.
Conseil d'expert: il vous faut un dentifrice adapté...
Hors ligne
#8 Le 06/09/2008, à 20:30
- rniamo
Re : script et script mysql [résolu]
j'obtient :
ERROR 1396 (HY000): Operation CREATE USER failed
< Quelques un des mes programmes | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
\ ^__^
\ (o o)\_______
(___)\ )\
Hors ligne
#9 Le 06/09/2008, à 20:41
- tiky
Re : script et script mysql [résolu]
Tu peux essayer ceci:
mysql -u "$UTILISATEUR_MYSQL" --password="$MOT_DE_PASSE_MYSQL" < query.sql || echo "échec"
l'opération || permet d'exécuter le echo seulement si mysql échoue.
Dernière modification par tiky (Le 06/09/2008, à 20:41)
Conseil d'expert: il vous faut un dentifrice adapté...
Hors ligne
#10 Le 06/09/2008, à 21:23
- rniamo
Re : script et script mysql [résolu]
ok, ça ira. merci.
< Quelques un des mes programmes | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
\ ^__^
\ (o o)\_______
(___)\ )\
Hors ligne