A conclusão da tabulação não funciona no cliente de linha de comando do MySQL

0

Instalei o MySQL 5.7.10 no meu Mac usando o Homebrew. Meu Mac está executando o OSX 10.11.3.

Quando estou executando o cliente de linha de comando do MySQL, não consigo concluir palavras-chave, tabela ou nomes de coluna com tabulação completa.

Como faço para concluir a guia?

joenyland@Joes-MBP ~ $ mysql --auto-rehash
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.7.10 Homebrew

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

Aqui está a saída de otool :

joenyland@Joes-MBP ~ $ otool -L /usr/local/bin/mysql
/usr/local/bin/mysql:
    /usr/lib/libedit.3.dylib (compatibility version 2.0.0, current version 3.0.0)
    /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
    /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
    
por JoeNyland 16.03.2016 / 23:34

2 respostas

1

A conclusão de tabulação para tabelas e colunas funciona somente quando você está conectado ou usando um banco de dados que possui essas tabelas. Quando você executa mysql e se conecta a um servidor, a menos que tenha especificado na linha de comando (ou via arquivos cnf) o banco de dados para se conectar, você pode ver apenas as tabelas do sistema mysql. Basta executar use mydatabase; para permitir que todas as tabelas em mydatabase funcionem com a conclusão de tabulação. Ou conecte-se ao banco de dados diretamente na linha de comando com

mysql mydatabase
    
por 18.03.2016 / 08:54
2

Se o seu cliente mysql for criado com readline , você poderá fazer isso usando o recurso auto-rehash . Estas são possíveis soluções:

  • opção de linha de comando --auto-rehash
  • Comando
  • (em mysql ), digite rehash
  • arquivo de configuração chamado .my.cnf no seu diretório pessoal, contendo:

    [mysql] auto-rehash

Leitura adicional:

A biblioteca de libedit do OSX é mais ou menos a mesma que readline (algumas diferenças de interface com a mesma funcionalidade). O MySQL poderia ser construído com qualquer um deles. Por exemplo, eles mencionam isso:

por 17.03.2016 / 00:10