Linux 및 기타 여러 시스템에서 터미널을 탐색 할 때을 눌러 Tab디렉토리 또는 파일 이름을 자동 완성 할 수 있습니다 .
MySQL 터미널에 이와 같은 것이 있는지 궁금합니다. 예를 들어, I에 대한 설명을 얻으려면 다음을 someTableWithRidiculousLongName
입력 하면 나머지는 자동 완성됩니다.describe someTableW
Tab
MySQL 터미널에 이와 비슷한 것이 있습니까?
답변
다음을 .my.cnf
포함하는 홈 디렉토리에서 라는 파일을 편집하거나 만듭니다 .
[mysql]
auto-rehash
답변
MySQL 프롬프트 유형 내에서 자동 완성을 활성화하려면 :
mysql> \#
그 후에 다음을 입력 할 수 있습니다.
mysql> describe someTableW[TAB]
얻으려면 :
mysql> describe someTableWithRidiculousLongName
답변
추가 옵션으로 시작 MySQL의 콘솔 --auto-rehash
, 즉
mysql --auto-rehash -u root -p
답변
이것이 오래된 질문이라는 것을 알고 있지만 고급 자동 완성 기능이있는 매우 유용한 MySql cli 클라이언트 인
mycli를 찾았습니다 . 내장 된 자동 재해시 기능보다 훨씬 더 똑똑합니다.
답변
OS X 10.11.6에서 위에서 설명한대로 –auto-rehash를 설정했지만 작동하지 않았습니다. (이것은 OS X이므로 mysql은 BSD libedit로 컴파일됩니다. 라이브러리로 .)
그런 다음 ~ / .editrc를 생성하여 bind -v 한 줄을 포함하여 mysql 클라이언트에 대한 vi 키 바인딩을 설정했음을 기억했습니다 . 이것은 mysql 클라이언트에서 vi와 같은 탐색을 제공하는 데 효과적이지만 열 이름 완성이 깨졌습니다 ( .editrc 를 제거하여 확인할 수있었습니다. ).
그래서 조금 조사 해보니 ~ / .editrc에 최소한 다음 줄이 있어야한다는 것을 알았습니다.
bind -v
bind \\t rl_complete
이 추가 줄을 사용하면 mysql에서 이름 완성이 올바르게 작동하고 vi와 유사한 탐색도 작동합니다. (mysql 클라이언트 탐색을 크게 향상시키는 다른 .editrc 설정이 있지만 여기서는 토론 스레드를 시작할 수 없습니다.)
답변
자동 재해시에 대한 몇 가지 참고 사항 :
자동 완성 기능을 활성화하면 mysql 구성 파일을 편집합니다.
[mysql]
auto-rehash
모든 사용자 또는 한 명의 사용자에 대해서만 수행 할 수 있습니다.
/etc/my.cnf
: 모든 사용자들
~/.my.cnf
: 실제 사용자
자동 완성 추가를 비활성화 할 수도 있습니다.
no-auto-rehash
출처 : http://www.sysadmit.com/2016/08/linux-mysql-autocompletar.html
답변
명령 내역을 기반으로 자동 완성 할 수도 있습니다. 입력을 시작한 다음 ed-search-prev-history
및에 바인딩 된 키를 호출합니다 ed-search-next-history
. 이것은 mysql이 libedit 지원과 함께 제공되는 경우에 적용됩니다. 기본 키 바인딩은 Ctrl-P 및 Ctrl-N이지만 .editrc에서 사용자 정의 할 수 있습니다. Ctrl-up 및 Ctrl-down의 예 :
# start typing, then press Ctrl-Up
bind "\e[1;5A" ed-search-prev-history
# start typing, then press Ctrl-Up, then Ctrl-Down
bind "\e[1;5B" ed-search-next-history
이전 MySQL은이 작성한 Readline을 기반으로하고 있었다 history-search-backward
및 history-search-forward
올바른 명령입니다. 구성은 .inputrc를 사용했습니다. 위와 같은 예 :
# these are the key bindings for the readline library
# start typing, then press Ctrl-Up
"\e[1;5A": history-search-backward
# start typing, then press Ctrl-Up, then Ctrl-Down
"\e[1;5B": history-search-forward
따라서 입력을 시작 sel
하고 Ctrl-Up을 호출 select * from some_long_table_name
하면 이전에 사용한 명령이 표시됩니다.