mysql クライアントの操作性を psql コマンドと同じように良くする方法
mysql コマンドでは、psql や bash のように、Ctrl+W で単語だけ消そうと思っても行が全部消えてしまったり、Ctrl+R でコマンドヒストリ検索できなかったりと、PostgreSQL の psql コマンドに比べると大分不便でイライラするので、操作性を向上させます。
mysql は configure オプションで --without-readline を指定すると、Makefile の mysql_LDADDに-l readline が指定され、システムの libreadline.a が使用され、--with-readline ですと、mysql のソースにバンドルされている libreadline.a が使用されます。
ということで、bash で使い慣れた readline を使うことにします。
configure オプションを一部変更したものを使いたかったので、今回は apt を使いました。
使用 OS は Ubuntu 9.04 です。
apt-get install dpkg-dev apt-get source mysql-client cd mysql-dfsg-5.0-5.1.30really5.0.75 dpkg-buildpackage -us -uc mv client/.libs/mysql ~/bin/
これで無事、Ctrl+W や Ctrl+K や Ctrl+R などが使えるようになりました。
deb パッケージは、ソースツリーの debian/rules に configure オプションが書いてあるのですが、--without-readline が既に書いてありました。それにも関わらず、Ctrl+W などが出来ないのは、配布パッケージのビルド時には libreadline が無かったのでしょうか。