Зафиксировать Ctrl-C в mysql программе командной строки?

Реальная проблема выбирает формат диска, по отношению к которому оба Ose являются дружественными. Например, OS X не может исходно записать в NTFS, но он может считать его. Решением для этого является MacFUSE (погуглите его), и его ntfs-3g драйвер. На стороне ПК, если Вы совместно используете ее приложенный диск, чем Вы, должен смочь смонтировать его по Samba на OS X. Если диск, который присоединен к OS X, отформатирован как Mac OS, Расширенный, чем Windows определенно не сможет считать его - таким образом, Вы захотите преобразовать его в формат, к которому оба Ose могут получить доступ, или Fat32 или NTFS (к которому снова, можно только получить доступ через MacFUSE).

В конечном счете вниз к получению формата диска, который могут обработать оба Ose. Когда это было выполнено, чем можно совместно использовать оба диска и получить доступ к ним через Samba на OS X и Windows.

10
задан 7 September 2015 в 16:46
4 ответа

При нажатии Ctrl-C в 5,1 во время выполнения запросов он остановится, выполнение с сообщением "Выполнение запросов было прервано"

    mysql> INSERT INTO c SELECT rand()*1000, sha1(rand()) FROM c;
    Query aborted BY Ctrl+C
    ERROR 1317 (70100): Query execution was interrupted

Дальнейшее нажатие Ctrl-C уничтожает клиент.

Более старые версии умирают ужасно как отмеченные рассматриваемый, таким образом обновите, если это возможно, :)

Править:

Похож это было добавлено в 5.0.25 (и 5.1.10).

7
ответ дан 2 December 2019 в 21:59
  • 1
    Это все еще имеет довольно глупое поведение. При нажатии CTRL+C во время запроса он должен отменить запрос. При нажатии CTRL+C при подсказке он не должен делать ничего и НЕ MySQL выхода. То, когда Вы, которых предлагают CTRL+C в Bash, когда ничего не происходит, это делает, печатает новую строку, но в основном ничего не делает. –  Neil 11 February 2010 в 17:43

Как Andy говорит, это фиксируется в более поздних версиях.

В более старых версиях нет никакого эквивалентного сочетания клавиш.

Но можно предотвратить его со следующим флагом CLI:

--sigint-ignore

Ignore SIGINT signals (typically the result of typing Control-C).
13
ответ дан 2 December 2019 в 21:59

Если Вы добавляете \c к затем концу Вашей строки вместо того, чтобы использовать Ctrl-c затем, можно уничтожить строку, не выходя mysql.

5
ответ дан 2 December 2019 в 21:59

Краткий ответ: По состоянию на начало 2014 года в mysql не было возможности иметь описанное поведение. См. соответствующий отчет об ошибке и страницу в dba.stackexchange, где 3 разных человека комментируют, что это все еще не исправлено в v5.5 . Кроме того, насколько я могу судить, после долгого поиска в Google нет обходного пути, который стоит использовать (см. Ниже, почему --sigint-ignore не подходит). Ответ Энди был отредактирован: «Похоже, он был добавлен в 5.0.25 (и 5.1.10)». но, вероятно, он был введен в заблуждение комментарием с датой [3 May 2006 19:04] в вышеупомянутом отчете об ошибке.

Аргумент --sigint-ignore (см. ответ Дэна Карли) действительно не позволит mysql вернуть вас обратно в оболочку когда вы нажимаете ctrl-C, но также удаляет возможность останавливать длительные запросы .

3
ответ дан 2 December 2019 в 21:59

Теги

Похожие вопросы