mysql 명령 줄 프로그램에서 Control-C를 수정 하시겠습니까? Control-C프로그램을 취소하며, 떠들썩한 파티에 당신을

에서 mysql명령 줄을 눌러 Control-C프로그램을 취소하며, 떠들썩한 파티에 당신을 가져. 에서 psql포스트 그레스의 하나, 현재의 쿼리를 죽일 것이고, psql의 프로그램을 멈추지 않을 것입니다. Control-Cmysql 프로그램에서 psql 스타일 동작을 얻는 방법이 있습니까? 나는 Control-C습관에 의해 압박을 받고 mysql에 다시 로그인해야한다는 것을 계속 발견했다 .

Control Cbash를 죽이지 않으며 그것을 누를 때 로그 아웃합니다. 좋은 생각입니다. Control-C‘당신이하고있는 일을 멈추십시오’를 의미합니다.



답변

쿼리 실행 중 5.1에서 Ctrl-C누르면 “쿼리 실행이 중단되었습니다”라는 메시지와 함께 실행이 중지됩니다.

    mysql> c에 삽입 rand () * 1000, sha1 (rand ()) FROM c;
    Ctrl + C로 중단 된 쿼리
    오류 1317 (70100) : 쿼리 실행이 중단되었습니다

추가 Ctrl-C프레스는 클라이언트를 죽입니다.

이전 버전은 문제의 언급에 따라 끔찍하게 죽으므로 가능한 경우 업그레이드 하십시오 🙂

편집하다:

5.0.25 (및 5.1.10)에 추가 된 것 같습니다.


답변

Andy가 말했듯이, 그것은 이후 버전에서 수정되었습니다.

이전 버전에는 동등한 키보드 단축키가 없습니다.

그러나 다음 CLI 플래그를 사용하여이를 방지 할 수 있습니다.

--sigint-ignore

Ignore SIGINT signals (typically the result of typing Control-C).


답변

Ctrl-c를 사용하는 대신 줄 끝에 \ c를 추가하면 mysql을 종료하지 않고 줄을 죽일 수 있습니다.


답변

짧은 대답 : 2014 년 초 현재 mysql에서 설명 된 동작을 수행 할 수있는 방법이 없습니다. 참조 관련 버그 리포트 3 개의 다른 사람들이 어디서 dba.stackexchange의 페이지를 여전히 버전 5.5에 고정되어 있지 있다고 언급 . 또한 긴 인터넷 검색 후 알 수있는 한 사용할만한 해결 방법이 없습니다 (왜 -sigint-ignore가 좋지 않은지 아래 참조). Andy의 답변은 “5.0.25 (및 5.1.10)에 추가 된 것 같습니다.”라고 언급하기 위해 편집되었습니다. 그러나 그는 앞서 언급 한 버그 보고서에서 날짜 [2006 년 5 월 3 일 19:04]에 대한 주석으로 오해되었을 것입니다.

–sigint-ignore 인수 (Dan Carley의 답변 참조)는 ctrl-C를 눌렀을 때 mysql이 쉘로 다시 떨어지지 않게하지만 장기 실행 쿼리를 중지하는 기능제거합니다 .

이것은 유용성 버그의 일종입니다 🙁 정말 명백하고 아마 고치기가 쉽지만 여전히 몇 년이 지난 후에도 여기에 있습니다.


답변