Intéraction Csh - MySQL

Bonjour à tous,

Je réalise actuellement un script en c-shell permettant de créer des utilisateurs pour plusieurs services. Jusque là, pas de soucis, mais lorsque je dois créer l’utilisateur pour le SGBD, ça se complique.

J’arrive bien à prendre la main sur la console mysql, mais ensuite je n’ai d’autres choix que de taper les commandes de création d’utilisateur et de base moi même. Or j’aimerais que cela se fasse depuis le script automatiquement.

Quelqu’un s’est déjà retrouvé dans une situation similaire ?

Merci :smiley:

Personne ? Même en Bash ? Parce-que bon, je fais ça en Csh mais ça doit être la même chose qu’en Bash…

? :unamused:

Si je comprends bien, tu as un shell interactif que tu souhaite manipuler de manière automatique ?
Tu as deux solutions :
[ul]
[li]connecter l’entrée standard de ce shell à la sortie standard de l’une de tes commandes avec un pipe par exemple[/li]
[li]si ça ne marche pas ou si tu veut pouvoir réagir en fonction de ce que retourne le shell, il faut se tourner vers les pseudo-terminaux avec pdip par exemple[/li][/ul]

Salut MisterFreeze,

Oui, j’ai un script qui exécute plusieurs commandes systèmes comme adduser, etc… Et tout va bien tant qu’il s’agit de communiquer avec “Linux lui même”, mais j’aimerais me servir de MySQL, c’est à dire m’identifier avec mysql -u root etc…

Sauf que là il me demande un mot de passe (ce qui est normal) mais du coup j’ai l’impression que ça coupe l’exécution des commandes que j’aimerais que MySQL réalise seul guidé par le script.

Je vais essayer en passant le mot de passe en paramètre afin qu’il ne se manifeste pas pour éviter l’interactivité.

Hum, je vais voir de ce côté là aussi, merci !

Je reviens aux nouvelles :wink:

Bon, alors en fait pas besoin de pipe ou autre (du moins dans mon cas).

Il me suffisait de bien lire le man…

En gros j’essayais de passer le mot de passe en paramètre :

Mais il faut bien coller le -p et le mot de passe… Ce qui donne :

A cela on ajoute un :

Et il exécute bien comme il faut l’opération et rend la main. Donc dans mon cas je n’ai pas eu besoin de passer ça par des pipe, etc…

Merci MisterFreeze d’avoir répondu à mon post en tout cas !

sinon, tu as des plusieurs instructions mysql à exécuter, tu peux procéder ainsi:

mysql -u user -ppassword <<EOF
instruction1
instruction2
...
instructioni
EOF

Ah en effet, ça m’intéresse :stuck_out_tongue:

Merci bien :007