GNU reeadlineライブラリは、コマンドラインにて過去に実行したコマンドの履歴表示や編集を可能にするライブラリである。mysqlクライアントにおいてもこのライブラリを使用することで、上記のような操作が可能となっている。
MySQLをソースからコンパイルして使用する場合、configure時のオプション --with-readline, --without-readlineの指定の仕方によって、mysqlクライアントに、システムのreadlineライブラリを使用させるか、MySQLのソースツリーにバンドルされているreadlineライブラリを使用させるかを選ぶことが出来る。バイナリ版、及び、デフォルトのビルドスクリプトでは--with-readlineが使用されている。
- --with-readlineを使用した場合
cmd-line-client/readlineディレクトリバンドルされているソースからコンパイルされ作成されるlibreadline.aにmysqlクライアントがリンクされる。
- --without-readlineを使用した場合
client/Makefileのmysql_LDADDに-lreadlineが指定され、システムのlibreadline.aがリンク時に使用される。gccの-lオプションは-lライブラリ名とした場合、標準ライブラリのディレクトリリストの中からファイル名がlibライブラリ名.aというファイルを検索する。
なお、 bug#3982は、SuSE Linux 9.2 Professionalでは--without-readlineを指定し、システムのreadlineライブラリを使用することで回避できる(readline-5.0-12.i586.rpm、及びreadline-5.0-devel-5.0-1.2.i586.rpmがインストール済みの場合)。