![MySQL 命令行 - 绑定向后命令搜索的关键](https://linux22.com/image/8158/MySQL%20%E5%91%BD%E4%BB%A4%E8%A1%8C%20-%20%E7%BB%91%E5%AE%9A%E5%90%91%E5%90%8E%E5%91%BD%E4%BB%A4%E6%90%9C%E7%B4%A2%E7%9A%84%E5%85%B3%E9%94%AE.png)
使用 Ubuntu 14.04 上的 mysql 命令行客户端,我可以UP通过添加以下行来绑定到向后命令搜索~/.inputrc
# type a word, hit up and a search is performed
# "\e[A": history-search-backward
该inputrc
设置将被读取并在 MySQL 命令行中提供自定义绑定,即启动交互式 MySQL 命令行:
% mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.7.12-0ubuntu1 (Ubuntu)
然后,一旦进入,我就可以输入一个单词并点击UP,mysql 命令行将根据该单词在命令历史记录中执行向后搜索:
mysql> select <UP>
会给出类似的结果
mysql> select * from user;
我在 14.04 中确实有相同的设置,并且它们有效,ubuntu 16.04
但mysql-client-5.7
现在不起作用,相反,我只是获得按时间顺序显示先前命令的默认行为。
如何获取UP在 mysql 命令行中执行命令历史搜索的密钥?
答案1
我发现 ubuntu 16.04 上的 MySQL 5.7.x 版本是使用 editline 库而不是 readline 编译的 - 我很确定这就是问题所在。