下面讲的命令,有部分只能在linux上才有。像pager命令windows上就没有了。
分屏:
在Linux上,而且不是xwindow时,使用mysql命令行时,输出太多的东西,看不到就很悲剧了。在shell中可以使用管道或是直接用more,但是mysql命令行里怎么办呢?
有pager命令,解决了上面的问题。
mysql> pager more PAGER set to 'more' mysql> show tables; table1 ... tableN --more--
等等,我要是不想再用分屏显示怎么办,nopager|\n帮你变回原样(stdout)。
pager的功能,可不只这种功能。
现在我只想知道执行命令需要多少时间,我想要放弃结果:
mysql> pager cat > /dev/null PAGER set to 'cat > /dev/null' mysql> SELECT ... 1000 rows in set (0.91 sec) mysql> SELECT ... 1000 rows in set (1.63 sec)
“哦,我想要改造一下现在这条sql语句,可是又不知道改完以后得到的结果是否与原来的一样”:
mysql> pager md5sum PAGER set to 'md5sum' mysql> SELECT ... 32a1894d773c9b85172969c659175d2d 1 row in set (0.40 sec) mysql> SELECT ... fdb94521558684afedc8148ca724f578 - 1 row in set (0.16 sec)
结果不一样,我想我要重新调整一下。
show processlist输出的结果太多了,我想直接知道有多少连接sleep:
mysql> pager grep Sleep | wc -l PAGER set to 'grep Sleep | wc -l' mysql> show processlist; 337 346 rows in set (0.00 sec)
命令行有用的命令:
tee|\T filename:
把所有输出添加到filename文件里头。
取消使用:notee|\t
例:
mysql> tee text.log Logging to file 'text.log'
source|\. filename:
运行filename文件里的sql语句。
例:mysql> source \tmp\mysql.sql
eog|\G:
执行命令,并把结果垂直输出,这个命令对于表里有很多字段时,为了显示的更清晰时,非常有用。
例:
mysql> show databases\G
*************************** 1. row ***************************
Database: information_schema
*************************** 2. row ***************************
Database: bigdb
后台省略
system command:
执行系统命令。
例:
mysql> system echo ‘execute system command’
execute system command
还有其他的命令,用help|\?去查看吧。