В консоли MySQL есть что-то, что сводит меня с ума. Когда я нажимаю ctrl+, cчтобы отменить ввод текущей команды, терминал завершается.
В каждом терминале я знаю ( *nix
терминалы Python
, PostgreSQL
), ctrl+ cотменяет текущую команду и ctrl+ dвыходит из терминала.
Эта проблема была зарегистрирована в 2003 году , и с тех пор несколько раз сталкивалась.
Есть ли способ:
- Изменить это поведение или
- Убедить команду разработчиков MySQL, что это действительно раздражает?
mysql
interface
mysql-console
Адам Матан
источник
источник
По крайней мере, версия 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 для вашей учетной записи пользователя
$HOME/.my.cnf
(%USERPROFILE%/.my.cnf
в Windows) со следующим содержимым:Это гарантирует, что все
mysql
исполнения игнорируют надоедливый Ctrl-C и ведут себя как хороший клиент SQL.источник
Пока поведение ctrl+ cраздражает, вы все равно можете использовать его
\c
для отмены текущего запроса. Вам просто нужно потренироваться, что при использовании mysql CLI вы используете\c
вместо ctrl+ c!источник
Хорошая новость: функциональность MySQL ^ C наконец исправлена # 66583 .
Из журнала изменений 5.7.0 :
источник
Какую версию клиента вы используете? Я помню, что это старое поведение, но последние версии 5.1 и 5.5, похоже, просто отменяют команду выполнения, не выходя из клиента. С другой стороны, может быть, я использую сборки Percona. Вы можете попробовать запустить их клиент, если это так.
источник