Il y a quelque chose dans la console MySQL qui me rend fou. Lorsque j'appuie sur ctrl+ cpour annuler la commande en cours de saisie, le terminal se ferme.
Dans tous les terminaux que je connais ( *nix
bornes, Python
, PostgreSQL
), ctrl+ cannule la commande en cours et ctrl+ dsort du terminal.
Ce problème a été signalé en 2003 et a été signalé plusieurs fois depuis.
Existe-t-il un moyen de:
- Modifiez ce comportement, ou
- Convaincre l'équipe de développement MySQL que c'est vraiment ennuyeux?
mysql
interface
mysql-console
Adam Matan
la source
la source
Au moins la version 5.6.14 du client a l' option --sigint-ignore pour ignorer totalement le gestionnaire SIGINT. Il semble avoir été ajouté le 7 octobre 2004 - donc cela fait au moins un moment. Je viens de le tester et cela empêche CTRL-C d'annuler le client MySQL. Cependant, il serait bien que CTRL-C annule également le tampon de ligne de commande actuel comme il le fait sur le shell BASH - comme le fait la CLI PostgreSQL. J'ai forké MySQL afin de voir à quel point il serait difficile d'implémenter une telle chose. Je posterai une formule Homebrew avec un lien tarball quand / si c'est prêt.
MISE À JOUR 1 Avez-vous déjà eu un de ces jours? J'ai créé le patch promis , puis j'ai décidé de créer une vidéo pour le démontrer. Ça a marché! Cependant, je ne pouvais pas le désactiver! Eh bien, il s'avère que MySQL a réellement intégré la fonctionnalité au client principal l'année dernière ! Oui, le A de ce Q est de télécharger au moins le client de MySQL 5.7.3-794-g901d27f. Il a les fonctionnalités que nous souhaitions tous.
EXEMPLE Depuis la ligne de commande, ajoutez simplement l'indicateur --sigint-ignore:
Ou, faites comme je l'ai fait et créez un fichier de configuration MySQL pour votre compte d'utilisateur sur
$HOME/.my.cnf
(%USERPROFILE%/.my.cnf
sous Windows) avec le contenu suivant:Cela garantira que toutes les
mysql
exécutions ignorent le Ctrl-C ennuyeux et se comportent comme un bon client SQL.la source
Bien que le comportement ctrl+ csoit ennuyeux, vous pouvez toujours utiliser
\c
pour annuler la requête actuelle. Il vous suffit de vous entraîner que lorsque vous utilisez mysql CLI, vous utilisez\c
au lieu de ctrl+ c!la source
Bonne nouvelle: la fonctionnalité ^ C de MySQL a finalement été corrigée par # 66583 .
Du changelog 5.7.0 :
la source
Quelle version du client utilisez-vous? Je me souviens que c'était le comportement le plus ancien, mais les versions récentes de 5.1 et 5.5 semblent simplement annuler la commande en cours sans quitter le client. Là encore, il se peut que j'utilise les versions de Percona. Vous pouvez essayer d'exécuter simplement leur client si c'est le cas.
la source