Eu instalei o MySQL. Agora estou preso dentro do prompt de comando do MySQL. Eu executei o MySQL assim:
C:\>mysql.exe
mysql>
Então eu digito algum comando inválido como este:
mysql> /version
->
E não importa o que eu digite, não consigo sair da linha de comando / terminal do MySQL. Por exemplo:
exit
CtrlC
CtrlD
quit
Ctrl\
CtrlZ
bye
Como saio do terminal MySQL para o terminal padrão?
windows
command-line
mysql
exit
Eric Leschinski
fonte
fonte
Respostas:
Para adicionar a outra resposta, você pode simplesmente encerrar a consulta inválida atual usando um ponto e vírgula:
Ou usando
\G
(que deve fazer as linhas serem exibidas verticalmente):Obviamente, ambas as opções assumem que você não tem uma citação de abertura. Se o fizer, você deve primeiro fechá-lo com uma cotação final.
fonte
->
,'>
,">
,`>
, e/*>
eu testei novamente nas versões mais recentes, e funcionou corretamente. Portanto, parece um bug corrigido.Por que ctrl-c não sai do modo de entrada mysql no Windows?
Porque você disse ao MySQL para interpretar seus comandos de saída como entrada válida.
O que torna o terminal MySQL difícil de entender é que existem modos diferentes para aspas simples, aspas duplas e modo normal.
Então, para sair do modo de entrada mysql, você terá que executar estas etapas:
Exemplo mais básico:
Você nunca saiu do modo padrão no exemplo acima, portanto, os comandos de saída funcionam corretamente.
Exemplo 2 (é isso que está enganando você).
Enquanto você estiver no modo de aspas simples ou aspas duplas, nenhuma sequência de escape será respeitada. Par Ctrl-Ce Ctrl-Dsão ignorados nesses modos.
Em qual dos 26 universos o Ctrl-C não para um programa, independentemente do modo? Nós podemos nunca saber. Bazinga.
fonte
O SQL suporta consultas inseridas como várias linhas. Somente quando você digitar um ponto e vírgula
;
, a consulta será executada. Você também precisa ter finalizado qualquer sequência na sua consulta.Cuidado para copiar e colar consultas com seqüências de caracteres de um pacote de processamento de texto - as aspas podem ter sido substituídas por 'aspas inteligentes' e isso atrapalhará sua consulta.
Se você inseriu uma consulta não terminada, ela não é executada e é por isso que digitar exit não funciona - o MySQL acha que você ainda está no meio de uma consulta. O prompt de comandos é alterado para mostrar que entrada é necessária para finalizar a consulta. Por exemplo, uma cotação ou cotação dupla pode ser necessária. Isso é poderoso e o prompt de comando é útil, mas achei confuso até ler as respostas e comentários sobre este tópico.
leia a especificação aqui
O prompt 'nível superior' é:
mysql>
Se você vir isso, poderá inserir um comando e terminar com; e pressione enter.
Se você vir um prompt como este:
Então, o MySQL está esperando que você termine uma string com uma citação ou uma consulta com ponto e vírgula.
Aqui está como dizer ao MySQL para cancelar sua consulta não terminada e colocar você de volta ao prompt principal:
Eu acho que isso é mais seguro do que encerrar e executar sua consulta não intencional. Depois disso, você deve voltar ao prompt> e pode sair com:
fonte
\q
faz o trabalho para mim. Usando o Ubuntu Terminal.fonte
Você pode tentar escapar usando Ctrl+ Shift+D
fonte