Fix Control-C nel programma di row di command di mysql?

Nella row di command di mysql , premendo Control-C annulla il programma e ti riporterà a bash. In psql , quello per il postgres, ucciderà la query corrente e non interromperà il programma psql. C'è un modo per get il comportmento psql di stile per Control-C nel programma mysql? Continuo a cercare di premere Control-C per abitudine e wherer riconnettersi in mysql.

Controllo C non uccide bash e disconnetti quando si preme. Che credo sia una buona cosa. Control-C significa "bloccare quello che stai facendo".

  • MySQL è molto lento sul mio file system ext4
  • Come specificare un certificato client a psql?
  • Mysqldump si lamenta di database scelti indipendentemente dalla linea di command
  • postgresql su Ubuntu 10.4 non si avvia dopo l'avvio
  • Accesso a solo lettura MYSQL, come posso impostarlo?
  • Postgres DISK IO molto alto. Cosa posso fare per ridurlo immediatamente?
  • # 1130 - Host 'localhost' non è consentito connettersi a questo server MySQL
  • Replica MySQL attraverso server separati geograficamente
  • assicurandosi che i demoni siano al sicuro
  • l'accesso a server mysql esterni attraverso "tunnel ssh" - eventuali inconvenienti?
  • Come posso forzare una tabella MySQL per danneggiare?
  • iptables che non permettono connessioni mysql a alias ips?
  • 4 Solutions collect form web for “Fix Control-C nel programma di row di command di mysql?”

    Se si preme Ctrl-C in 5.1 durante l'esecuzione della query , interromperà l'esecuzione con il messaggio "L'esecuzione di query è stata interrotta"

         mysql> INSERT INTO c SELEZIONE rand () * 1000, sha1 (rand ()) FROM c;
         La query è stata interrotta da Ctrl + C
         ERRORE 1317 (70100): L'interrogazione dell'interrogazione è stata interrotta
    

    Un'altra pressione Ctrl-C uccide il cliente.

    Le versioni precedenti muoiono orribilmente come indicato in questione, quindi aggiornate se ansible 🙂

    Edit:

    Sembra che sia stato aggiunto in 5.0.25 (e 5.1.10).

    Come dice Andy, è fisso nelle versioni successive.

    Non c'è alcuna scorciatoia da tastiera equivalente nelle versioni precedenti.

    Ma è ansible impedire che accada con la seguente bandiera CLI:

     --sigint-ignore Ignore SIGINT signals (typically the result of typing Control-C). 

    Se si aggiunge un \ c per poi terminare la linea invece di utilizzare Ctrl-c allora è ansible uccidere la linea senza uscire da mysql.

    Risposta breve: Dall'inizio del 2014 non c'è modo di avere il comportmento descritto in mysql. Vedere il relativo rapporto di bug e una pagina in dba.stackexchange where 3 persone diverse commentano che non è ancora risolto in v5.5 . Anche per quanto posso dirlo dopo un lungo googling, non c'è nessuna soluzione per l'utilizzo (vedi il motivo per cui "ignorare" non è buono). La risposta di Andy è stata modificata per citare che "sembra che sia stato aggiunto in 5.0.25 (e 5.1.10)". ma fu probabilmente fuorviante dal commento con data [3 maggio 2006 19:04] nel predetto bug report.

    L'argomento –sigint-ignore (si veda la risposta di Dan Carley) impedisce a mysql di abbandonarti alla shell quando si colpisce ctrl-C ma rimuove anche la capacità di interrompere le query a lungo termine .

    Questo è il genere di bug di usabilità che ti fa andare 🙁 veramente ovvio e probabilmente estremamente facile da risolvere, ma ancora qui è dopo molti anni.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.