Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment désactiver la validation automatique pour un client MySQL ?

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