linuxを操作していて、TABで補完されていたのに、MySQLを起動したらTAB補完されない...ってなんか不便ですよね。
MySQLにも何か用意されているだろうと調べてみると、
--auto-rehash
というオプションがあるとの情報が。
さっそく使ってみます。
rehashオプションを使用してみる
mysql -u ユーザ名 -p --auto-rehash
これでログインすれば、できるっぽいという情報を受けて、やってみたもののTAB補完されない...。
こういうときは落ち着いて、公式のドキュメントを確認します。
私の使用しているMySQLのバージョンが5.6なので
https://dev.mysql.com/doc/refman/5.6/ja/mysql-command-options.html#option_mysql_auto-rehash
ですね。
バージョンの確認方法は、
-bash-4.2$ mysql --version
mysql Ver 14.14 Distrib 5.6.45, for Linux (x86_64) using EditLine wrapper
一応、公式のドキュメントの一部を張り付けておきます。
以下引用
--auto-rehash
自動リハッシュを有効にします。このオプションはデフォルトでオンになっており、データベース、テーブル、およびカラムの名前補完が可能になります。リハッシュを無効にするには、
--disable-auto-rehash
を使用します。これにより、mysql の起動がより高速になりますが、名前補完を使用する場合はrehash
コマンドまたはそのショートカット\#
を発行する必要があります。名前を補完するには、最初の部分を入力して Tab を押します。名前があいまいでない場合、mysql がその名前を補完します。そうでない場合は、Tab をもう一度押して、これまでに入力した値で始まる、考えられる名前を表示できます。デフォルトのデータベースがない場合、補完は行われません。
ここで大事なのは、この部分ですね。
デフォルトのデータベースがない場合、補完は行われません。
要するに使用するデータベースを指定しろということです。
ログイン後に
use データベース名
で使用するDBを選択したら、しっかりと補完されるようになりました。