Принаймні версія 5.6.14 клієнта має можливість --sigint-ignore, щоб повністю ігнорувати обробник SIGINT. Здається, було додано 7 жовтня 2004 року - так що, як мінімум, минуло деякий час. Я щойно тестував це, і це не дозволяє CTRL-C відміняти клієнт MySQL. Однак було б добре, якщо CTRL-C також скасує поточний буфер командного рядка, як це робиться в оболонці BASH - як це робить CLI PostgreSQL. Я розпрощав MySQL, щоб побачити, як важко було б реалізувати щось таке. Я опублікую формулу Homebrew із посиланням на тарбол, коли / якщо вона буде готова.
ОНОВЛЕННЯ 1 У вас
був один із цих днів? Я створив обіцяний патч , а потім вирішив створити відео, щоб продемонструвати його. Це спрацювало! Однак я не зміг її відключити! Що ж, виявляється, що MySQL насправді випустив у функціонал основний клієнт минулого року ! Так, A до цього Q - це завантажити хоча б клієнта MySQL 5.7.3-794-g901d27f. Він має функціонал, який ми всі бажали.
ПРИКЛАД
З командного рядка просто додайте прапор --sigint-ignore:
mysql --host=127.0.0.1 --port=8900 --user=root -p --sigint-ignore DBNAME
Або, як я це зробив, і створити конфігураційний файл MySQL для вашого облікового запису користувача в $HOME/.my.cnf
( %USERPROFILE%/.my.cnf
у Windows) із наступним вмістом:
[mysql]
sigint-ignore=TRUE
Це забезпечить, що всі mysql
страти ігнорують дратівливий Ctrl-C і поводяться як хороший клієнт SQL.