在 MySQL 命令行里面执行命令时常常会有大量结果展示,有些结果会自动换行(折行)展示,显示效果很差。可以通过改变默认的 PAGER(分页器)
来分页、分屏展示。
查看 MySQL 的帮助得知可以通过 pager
或 \P
命令来改变当前的分页器,通过 nopager
或 \n
来关闭分页器:
mysql> ?
List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
? (\?) Synonym for `help'.
...
pager (\P) Set PAGER [to_pager]. Print the query results via PAGER.
nopager (\n) Disable pager, print to stdout.
...
For server side help, type 'help contents'
目前常用的是 less
分页器,git 等常用软件都用了这个。这里也能用。
mysql> \P less
PAGER set to 'less'
以上即可实现简单的分页浏览功能。
但是只是实现了分页浏览功能,还是自动换行了,很难看。 比如下面这样,基本没法看:
+-------+------------------------------------------+--------------------------------
------------------------------------------------------------------------------------
----------------------------+-------------------------------------------------------
-----------------------------------------------------+----------+
| id | hash | chinese
| english
| japanese |
+-------+------------------------------------------+--------------------------------
------------------------------------------------------------------------------------
----------------------------+-------------------------------------------------------
-----------------------------------------------------+----------+
| 1 | 8ec07a2841d3fb671afd11013643063bda9fa7f3 | 三国志-赤壁之战
| Chik Bik Ji Jin - Saam Gwok Ji (CN-20) (Tw) [!]
| |
| 2 | 4e2a008c5aa89ab92ba91e4d2b3e0bbb07feffe0 | 三国志-英杰传
| San Guo Zhi - Ying Jie Zhan (Ch)
| |
| 3 | 3f6b37168318a1e56f447a99d7f516415896233a | 热血行进曲
| Downtown - Nekketsu Koushin Kyoku - Soreyuke Daiundouk
ai (J) | |
| 4 | ec0e39e8be26e6e0c3cea0a56e53807273b96981 | 热血新记录(换必杀)
:
看来还需要一番参数调优。深度探索一番后,我找到以下两种:
\P less -S~
\P less -XSRF~
参数说明:
X
不使用第二屏显示内容S
不自动换行,可按左、右方向键滚动屏幕R
输出原始终端控制字符(比如颜色控制)F
如果一屏能显示完,那么显示后退出~
不在末尾显示类似vim的波浪符号
两种都比较推荐,两种都可以尝试然后选择自己喜欢的。
注:XSRF
发音有点类似前端的 CSRF
(Cross Site Request Forgery,跨域请求伪造),所有蛮好记。
上面的配置只是当前连接生效,可以修改 MySQL 的配置文件 my.cnf
以在当前客户端永久生效(非服务端配置):
1 2 |
|