sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo desactivo la confirmación automática para un cliente MySQL?

Quizás la mejor manera es escribir un script que inicie el cliente de línea de comandos mysql y luego ejecute automáticamente cualquier sql que desee antes de que le entregue el control.

linux viene con una aplicación llamada 'expect'. interactúa con el caparazón de tal manera que imita las pulsaciones de teclas. se puede configurar para iniciar mysql, espere a que ingrese su contraseña. ejecutar más comandos como SET autocommit = 0; luego entre en modo interactivo para que pueda ejecutar cualquier comando que desee.

para más información sobre el comando SET autocommit = 0; consulte... http://dev.mysql. com/doc/refman/5.0/en/innodb-transaction-model.html

Utilizo esperar para iniciar sesión en una utilidad de línea de comandos en mi caso, inicia ssh, se conecta al servidor remoto, inicia la aplicación, ingresa mi nombre de usuario y contraseña y luego me entrega el control. me ahorra un montón de escribir :)

http://linux.die.net/man/1/expect

CC

Espere el guión proporcionado por Michael Hinds

spawn /usr/local/mysql/bin/mysql 
expect "mysql>" 
send "set autocommit=0;\r" 
expect "mysql>" interact

expect es bastante poderoso y puede hacer la vida mucho más fácil como en este caso.

si desea que el script se ejecute sin llamar, use la línea shebang

inserte esto como la primera línea en su secuencia de comandos (pista:use which expect para encontrar la ubicación de su ejecutable esperado)

#! /usr/bin/expect

luego cambie los permisos de su secuencia de comandos con ..

chmod 0744 myscript

luego llame al script

./myscript

CC