Hay algo en la consola de MySQL que me vuelve loco. Cuando presiono ctrl+ cpara cancelar el comando actual que se está escribiendo, el terminal se cierra.
En cada terminal de know I ( *nix
terminales, Python
, PostgreSQL
), ctrl+ ccancela el comando actual y ctrl+ dsale de la terminal.
Este problema ha sido reportado en 2003 , y se ha visto afectado varias veces desde entonces.
¿Hay alguna manera de:
- Cambiar este comportamiento, o
- ¿Convencer al equipo de desarrollo de MySQL de que esto es realmente molesto?
mysql
interface
mysql-console
Adam Matan
fuente
fuente
Al menos la versión 5.6.14 del cliente tiene la opción --sigint-ignore para ignorar totalmente el controlador SIGINT. Parece que se agregó el 7 de octubre de 2004, por lo que ha estado alrededor por un tiempo al menos. Lo acabo de probar y evita que CTRL-C cancele el cliente MySQL. Sin embargo, sería bueno si CTRL-C también cancelara el búfer de línea de comando actual como lo hace en el shell BASH, como lo hace la CLI de PostgreSQL. Bifurqué MySQL para ver cuán difícil sería implementar algo así. Publicaré una fórmula Homebrew con un enlace tarball cuando esté listo.
ACTUALIZACIÓN 1 ¿Alguna vez has tenido uno de esos días? Creé el parche prometido , y luego decidí crear un video para demostrarlo. ¡Funcionó! ¡Sin embargo, no pude desactivarlo! Bueno, ¡resulta que MySQL realmente incorporó la funcionalidad al cliente central el año pasado ! Sí, la A de esta Q es descargar al menos el cliente MySQL 5.7.3-794-g901d27f. Tiene la funcionalidad que todos deseamos.
EJEMPLO Desde la línea de comando simplemente agregue el indicador --sigint-ignore:
O haga lo que hice y cree un archivo de configuración MySQL para su cuenta de usuario en
$HOME/.my.cnf
(%USERPROFILE%/.my.cnf
en Windows) con el siguiente contenido:Esto asegurará que todas las
mysql
ejecuciones ignoren el molesto Ctrl-C y se comporten como un buen cliente SQL.fuente
Si bien el comportamiento ctrl+ ces molesto, aún puede usarlo
\c
para cancelar la consulta actual. ¡Solo tiene que entrenarse para que cuando use mysql CLI, use en\c
lugar de ctrl+ c!fuente
Buenas noticias: la funcionalidad ^ C de MySQL finalmente ha sido arreglada por # 66583 .
Desde el registro de cambios 5.7.0 :
fuente
¿Qué versión del cliente estás usando? Recuerdo que este era el comportamiento anterior, pero las versiones recientes de 5.1 y 5.5 parecen cancelar el comando en ejecución sin salir del cliente. Por otra parte, puede ser que estoy usando las versiones de Percona. Podría intentar simplemente ejecutar su cliente si ese es el caso.
fuente