Listajući svoje omiljene WebDev feed-ove, za oko mi je zapao jedan post na sjajnom MySQL Perfomance Blogu:
…if you press CTRL-C MySQL Command Line Client will not exit but will terminate query being executed.
Drugim rečima, u dosadašnjim verzijama MySQL klijenta, kada bi ste ukucali neki query i pritiskom na CTRL-C pokušali da prekinete njegovo izvršavanje, CTRL-C bi zapravo ubio MySQL klijent, ali query nastavlja da se izvršava u pozadini! Rešenje u takvim slučajevima je traženje id-a tog query-a na listi procesa upitom “show full processlist”, a zatim njegovo “ubijanje” upitom “kill 12345” gde je 12345 u ovom slučaju id procesa koji želimo da ubijemo. Dakle, recimo nešto ovako:
mysql> select * from odm_result_keywords where keyword like '%foo%joe%'; ^CAborted bash-2.05b$ mysql -A --enable-local-infile -udinke -ppass mydb Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1512 to server version: 4.1.18-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> show full processlist; +------+-------+----------------------------+-------------------+---------+------+--------------+--------------------------------------------------------------------+ | Id | User | Host | db | Command | Time | State | Info | +------+-------+----------------------------+-------------------+---------+------+--------------+--------------------------------------------------------------------+ | 1486 | dinke | localhost | mydb | Query | 3 | Sending data | select * from odm_result_keywords where keyword like '%foo%joe.cl' | +------+-------+----------------------------+-------------------+---------+------+--------------+--------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> kill 1486; mysql>
Zahvaljujući izmenama u MySQL klijentu, sada je dovoljno da stisnete CTRL-C, i query će biti odmah prekinut:
mysql> select domain from odm_result_keywords_de where whois_status is null and domain like '%.%.%'; Query aborted by Ctrl+C ERROR 1317 (70100): Query execution was interrupted mysql>
Više informacija o ovoj, kao i drugim izmenama u pomenutoj verziji (5.0.25) možete naći ovde.
Nemoj da pričaš da su naučili da hvataju SIGINT?!?!?
Ako mi je nešto išlo na ganglije kod MySQL-a, to je njegov klijent. Drago mi je da su to najzad rešili…