Vielleicht ist der beste Weg, ein Skript zu schreiben, das den mysql-Befehlszeilenclient startet und dann automatisch die gewünschte SQL ausführt, bevor es Ihnen die Kontrolle übergibt.
Linux wird mit einer Anwendung namens „expect“ geliefert. Es interagiert mit der Shell so, dass es Ihre Tastenanschläge nachahmt. Es kann eingestellt werden, mysql zu starten, warten Sie, bis Sie Ihr Passwort eingeben. Führen Sie weitere Befehle wie SET autocommit = 0;
aus Wechseln Sie dann in den interaktiven Modus, damit Sie jeden gewünschten Befehl ausführen können.
für mehr über den Befehl SET autocommit = 0;
siehe.. http://dev.mysql. com/doc/refman/5.0/en/innodb-transaction-model.html
Ich benutze Expect, um mich bei einem Befehlszeilendienstprogramm anzumelden. In meinem Fall startet es ssh, stellt eine Verbindung zum Remote-Server her, startet die Anwendung, gibt meinen Benutzernamen und mein Passwort ein und übergibt mir dann die Kontrolle. spart mir haufenweise Tipparbeit :)
http://linux.die.net/man/1/expect
DC
Erwarten Sie ein Skript von Michael Hinds
spawn /usr/local/mysql/bin/mysql
expect "mysql>"
send "set autocommit=0;\r"
expect "mysql>" interact
Expect ist ziemlich mächtig und kann das Leben viel einfacher machen, wie in diesem Fall.
wenn Sie möchten, dass das Skript ohne den Aufruf von Expect ausgeführt wird, verwenden Sie die Shebang-Zeile
fügen Sie dies als erste Zeile in Ihr Skript ein (Tipp:verwenden Sie which expect
um den Speicherort Ihrer erwarteten ausführbaren Datei zu finden)
#! /usr/bin/expect
Ändern Sie dann die Berechtigungen Ihres Skripts mit..
chmod 0744 myscript
Rufen Sie dann das Skript auf
./myscript
DC