Homebrewを使用してMacにMySQL 5.7.10をインストールしました。私のMacではOSX 10.11.3を実行しています。
MySQLコマンドラインクライアントを実行すると、キーワード、テーブル名、または列名にタブ補完機能は使用できません。
タブを完了するにはどうすればよいですか?
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>
これは次の出力です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)
答え1
テーブルと列のタブ補完は、そのテーブルを含むデータベースに接続されている場合、またはそのデータベースを使用している場合にのみ機能します。サーバーを実行しmysql
て接続すると、コマンドライン(またはcnfファイル)で接続するデータベースを指定しない限り、mysqlシステムテーブルのみが表示されます。use mydatabase;
すべてのテーブルmydatabase
に対してタブの完成を許可するには、実行するだけです。または、コマンドラインから直接データベースに接続する
mysql mydatabase
答え2
mysql
クライアントがを使用して構築されている場合は、readline
このauto-rehash
機能を使用してこれを実行できます。考えられる解決策は次のとおりです。
- コマンドラインオプション
--auto-rehash
- コマンド(
mysql
)に次のように入力します。rehash
.my.cnf
以下を含むホームディレクトリから呼び出される設定ファイル:[mysql]自動災害時
追加資料:
OSX libeditライブラリはreadlineとほぼ同じです(同じ機能にはいくつかのインタフェースの違いがあります)。 MySQLはこれらのいずれかで構築できます。たとえば、次はこれに言及します。