Há algo no console do MySQL que me deixa louco. Quando pressiono ctrl+ cpara cancelar o comando atual que está sendo digitado, o terminal sai.
Em cada I Know terminal ( *nix
terminais, Python
, PostgreSQL
), ctrl+ ccancela o comando atual e ctrl+ dsai do terminal.
Esse problema foi relatado em 2003 e passou várias vezes desde então.
Existe uma maneira de:
- Alterar esse comportamento ou
- Convencer a equipe de desenvolvimento do MySQL de que isso é realmente irritante?
mysql
interface
mysql-console
Adam Matan
fonte
fonte
Pelo menos a versão 5.6.14 do cliente possui a opção --sigint-ignore para ignorar totalmente o manipulador SIGINT. Parece ter sido adicionado em 7 de outubro de 2004 - então já faz algum tempo. Acabei de o testar e impede o CTRL-C de cancelar o cliente MySQL. No entanto, seria bom se o CTRL-C também cancelasse o buffer da linha de comando atual, como no shell BASH - como a CLI do PostgreSQL. Eu peguei o MySQL para ver como seria difícil implementar algo assim. Vou postar uma fórmula Homebrew com um link de tarball quando / se estiver pronto.
ATUALIZAÇÃO 1 Você já teve um daqueles dias? Criei o patch prometido e decidi criar um vídeo para demonstrá-lo. Funcionou! No entanto, não consegui desativá-lo! Bem, acontece que o MySQL realmente incorporou a funcionalidade ao cliente principal no ano passado ! Sim, o A deste Q é baixar pelo menos o cliente do MySQL 5.7.3-794-g901d27f. Tem a funcionalidade que todos desejamos.
EXEMPLO Na linha de comando, adicione o sinalizador --sigint-ignore:
Ou faça o que eu fiz e crie um arquivo de configuração do MySQL para sua conta de usuário em
$HOME/.my.cnf
(%USERPROFILE%/.my.cnf
no Windows) com o seguinte conteúdo:Isso garantirá que todas as
mysql
execuções ignorem o Ctrl-C irritante e se comportem como um bom cliente SQL.fonte
Enquanto o comportamento ctrl+ cé irritante, você ainda pode usar
\c
para cancelar a consulta atual. Você apenas precisa treinar para si mesmo que, ao usar o mysql CLI, usa em\c
vez de ctrl+ c!fonte
Boas notícias: a funcionalidade ^ C do MySQL foi finalmente corrigida pelo # 66583 .
No log de alterações 5.7.0 :
fonte
Qual versão do cliente você está usando? Lembro que esse era o comportamento mais antigo, mas as versões recentes do 5.1 e 5.5 parecem apenas cancelar o comando em execução sem sair do cliente. Por outro lado, pode ser que eu esteja usando as compilações Percona. Você pode tentar executar o cliente deles, se esse for o caso.
fonte