La meilleure façon est peut-être d'écrire un script qui démarre le client en ligne de commande mysql, puis exécute automatiquement le sql que vous voulez avant qu'il ne vous donne le contrôle.
Linux est livré avec une application appelée « expect ». il interagit avec la coque de manière à imiter vos frappes. il peut être configuré pour démarrer mysql, attendez que vous saisissiez votre mot de passe. exécuter d'autres commandes telles que SET autocommit = 0;
puis passez en mode interactif pour pouvoir exécuter la commande de votre choix.
pour en savoir plus sur la commande SET autocommit = 0;
voir.. http://dev.mysql. com/doc/refman/5.0/en/innodb-transaction-model.html
J'utilise expect pour me connecter à un utilitaire de ligne de commande dans mon cas, il démarre ssh, se connecte au serveur distant, démarre l'application entre mon nom d'utilisateur et mon mot de passe, puis me donne le contrôle. me sauve des tas de frappe :)
http://linux.die.net/man/1/expect
CC
Attendez-vous à un script fourni par Michael Hinds
spawn /usr/local/mysql/bin/mysql
expect "mysql>"
send "set autocommit=0;\r"
expect "mysql>" interact
expect est assez puissant et peut rendre la vie beaucoup plus facile comme dans ce cas.
si vous voulez que le script s'exécute sans appeler expect, utilisez la ligne shebang
insérez ceci comme première ligne dans votre script (indice :utilisez which expect
pour trouver l'emplacement de votre exécutable attendu)
#! /usr/bin/expect
puis modifiez les permissions de votre script avec..
chmod 0744 myscript
puis appelez le script
./myscript
CC