rlwrap: mysql オートコンプリートが機能しない

rlwrap: mysql オートコンプリートが機能しない

通常、オートコンプリートはmysql-client-5.5mysqlコマンドラインクライアント()でうまく機能します。というテーブルがあります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)

ベストアンサー1

これにより、通常のmysqlサーバーで完了が可能になります。

mysql --auto-rehash

の場合、設定が完了しrlwrapたことを確認してくださいRLWRAP_HOME。バラよりここより多くの情報を知りたいです。このページもレポートシステム使用量が多すぎると、競合状態が発生する可能性があります。

おすすめ記事