По крайней мере, версия 5.6.14 клиента имеет опцию --sigint-ignore, чтобы полностью игнорировать обработчик SIGINT. Похоже, что он был добавлен 7 октября 2004 года, так что, по крайней мере, прошло какое-то время. Я только что протестировал его, и он не дает CTRL-C отменить клиент MySQL. Однако было бы неплохо, если бы CTRL-C также отменял текущий буфер командной строки, как это происходит в оболочке BASH - как это делает CLI PostgreSQL. Я разветвлял MySQL, чтобы понять, насколько сложно реализовать такую вещь. Я опубликую формулу Homebrew со ссылкой на tarball, когда / если она будет готова.
ОБНОВЛЕНИЕ 1 У вас
когда-нибудь был один из этих дней? Я создал обещанный патч , а затем решил создать видео для его демонстрации. Это сработало! Однако я не смог отключить его! Что ж, получается, что MySQL фактически запекся по функциональности для основного клиента в прошлом году ! Да, ответом на этот вопрос является загрузка клиента 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.