MySQL クライアント(対話型プログラム)で直接SQLを発行する場合、マルチバイト文字の入力ができなくて不便に感じていました。元々そういうものだと思いこんでいたのですが、実は解決方法がありました。
ターミナルから MySQL クライアントを操作する人であれば、Unix コマンド操作で TAB 補完やコマンド履歴からの入力を使っていると思います。これは readline というライブラリで実現しています。
MySQL クライアントも、この readline を使っているのですが、デフォルトの configure オプション --with-readline
により MySQL に同胞されている readline で make された場合に、マルチバイト文字が入力できないことがわかりました。
configure オプションで --without-readline
を指定して、システムの readline を使うように変更することで、マルチバイト文字列が入力できるようになります。
$ ./configure --without-readline ... $ make $ make install
この場合には、システム側に readline (パッケージなら readline readline-devel)がインストールされていることが必要です。
$ yum install readline readline-devel
つまり MySQL クライアント上でも、Unix コマンドライン操作と同じ readline の補完機能が使えるということですので、長文SQLの末尾に移動するために右矢印キーを押し続ける必要はありません。CTRL-e
で素早く末尾に移動できます。