通常、オートコンプリートはmysql-client-5.5
mysqlコマンドラインクライアント()でうまく機能します。というテーブルがありますbooking
。文字を入力しb
てキーを押すと、TAB
テーブル名が自動補完されます。
SELECT * FROM b<TAB>
rlwrap
ただし、()を使用するとalias mysql='/usr/bin/rlwrap -s 99999 -a -pRED /usr/bin/mysql'
オートコンプリート機能は機能しません。
rlwrap
オートコンプリート機能に干渉するようです。
私はDebian Wheezyを使用しています。
アップデート1:
startコマンドを使用する場合strace
、つまり:
strace /usr/bin/rlwrap -s 99999 -a -pRED /usr/bin/mysql --auto-rehash
次のエラーが表示されます。
access("/usr/share/rlwrap/completions/mysql", R_OK) = -1 ENOENT (No such file or directory)
rlwrapにmysqlを完成させるためにいくつかのファイルが必要な場合がありますか?
アップデート2
いいですね。ファイルを作成し、/usr/share/rlwrap/completions/mysql
その中に3つのサンプル行を入れました。
select
from
where
mysql
入力を開始すると、sele<TAB>
タブは実際に単語を完成させますselect
。それは進歩ですが、問題全体を解決するわけではありません。覚えたくない(不要な)あいまいなテーブル名を完成させるのに役立つ自動補完機能が主に必要です。ただし、テーブルを変更/追加/名前変更するたびにオートコンプリートファイルを編集することはできません。
rlwrap
同じオートコンプリートファイルを使用するように指示する方法はありませんかmysql
? (mysql
そのようなファイルを使うべきだと思います)
アップデート3:
他のエラーは次のとおりです。strace
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
stat("/home/martin/.terminfo", 0x7fff27ee6a70) = -1 ENOENT (No such file or directory)
access("/etc/terminfo/x/xterm-256color", R_OK) = -1 ENOENT (No such file or directory)
access("/home/martin/.mysql_completions", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/rlwrap/completions/mysql", R_OK) = -1 ENOENT (No such file or directory)
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
stat("/home/martin/.inputrc", 0x7fff27ee7710) = -1 ENOENT (No such file or directory)