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".

  • Strumenti di monitoraggio MySQL
  • Postfix + mysql: virtual_users combinato con un catch-all in virtual_aliases
  • Ottima impostazione MySQL my.cnf per il sito di Magento di grandi size su un server dedicato
  • Postgres non può iniziare sul leone a causa del file di configuration del server mancante
  • Come faccio a creare un utente MySQL di sola lettura per scopi di backup con mysqldump?
  • mysqldump delle ultime 1000 registrazioni
  • il funzionamento del catrame blocca completamente mysql
  • Il database viene sbattuto più e più volte; ha già pulito il sito per l'iniezione SQL
  • Proxy HA per MySQL - solo failover
  • "Il server MySQL è andato via" quando si tenta di importre un file di grandi size
  • Carico CPU 100% su Ubuntu 10.04.3 LTS 64bit
  • Mysql che mostra il 100% di utilizzo della CPU
  • 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.