回答:
少なくともクライアントのバージョン5.6.14には、SIGINTハンドラーを完全に無視する--sigint-ignoreオプションがあります。されているように見えます追加 10月7日、2004年-それは、少なくともしばらくの周りされていますので。私はそれをテストしましたが、CTRL-CがMySQLクライアントをキャンセルしないようにします。ただし、PostgreSQL CLIのように、CTRL-CでBASHシェルのように現在のコマンドラインバッファーもキャンセルすると便利です。そのようなものを実装することがどれほど難しいかを知るために、MySQLを分岐させました。準備ができたら/ホームボール式のtarballリンクを投稿します。
更新1 その日のいずれかがありますか?約束のパッチを作成し、それを示すビデオを作成することにしました。出来た!ただし、無効にできませんでした!さて、MySQLは昨年、実際にコアクライアントに機能を組み込みました。はい、このQのAは、少なくともMySQL 5.7.3-794-g901d27fのクライアントをダウンロードすることです。それは私たち全員が望む機能を備えています。
例 コマンドラインから--sigint-ignoreフラグを追加するだけです:
mysql --host=127.0.0.1 --port=8900 --user=root -p --sigint-ignore DBNAME
または、私がやったように、次のコンテンツで$HOME/.my.cnf
(%USERPROFILE%/.my.cnf
Windowsの)ユーザーアカウントのMySQL構成ファイルを作成します。
[mysql]
sigint-ignore=TRUE
これにより、すべてのmysql
実行で迷惑なCtrl-Cが無視され、適切なSQLクライアントのように動作します。
一方でctrl+のc行動は迷惑です、あなたはまだ使用することができ\c
、現在のクエリをキャンセルします。mysql CLIを使用するときは、\c
代わりにctrl+ c!
使用しているクライアントのバージョンは何ですか?これは古い動作であることを覚えていますが、5.1と5.5の最近のバージョンは、クライアントを終了せずに実行中のコマンドをキャンセルするようです。それから、Perconaビルドを使用している可能性があります。その場合は、クライアントを実行してみてください。